home *** CD-ROM | disk | FTP | other *** search
Emacs Compiled Lisp | 1993-11-09 | 52.5 KB | [dELC/EMAC] |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Emacs Compiled Lisp
(other/emacsCompiledLisp).
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
1%
| dexvert
| Emacs Compiled Lisp (other/emacsCompiledLisp)
| magic
| Unsupported |
1%
| dexvert
| Combustion 2 Particle Library (other/combustion2ParticleLibrary)
| ext
| Unsupported |
100%
| file
| Emacs v18 byte-compiled Lisp data
| default
| |
99%
| file
| data
| default
| |
100%
| gt2
| Kopftext: '(provide (quote cl))
| default (weak)
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| text/x-emacs-lisp
| default (weak)
|
|
id metadata |
---|
key | value |
---|
macFileType | [dELC] |
macFileCreator | [EMAC] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0a 28 70 72 6f 76 69 64 | 65 20 28 71 75 6f 74 65 |.(provid|e (quote|
|00000010| 20 63 6c 29 29 0a 0a 28 | 64 65 66 6d 61 63 72 6f | cl))..(|defmacro|
|00000020| 20 70 73 65 74 71 20 28 | 26 72 65 73 74 20 70 61 | psetq (|&rest pa|
|00000030| 69 72 73 29 20 22 28 70 | 73 65 74 71 20 7b 56 41 |irs) "(p|setq {VA|
|00000040| 52 49 41 42 4c 45 20 56 | 41 4c 55 45 7d 2e 2e 2e |RIABLE V|ALUE}...|
|00000050| 29 3a 20 49 6e 20 70 61 | 72 61 6c 6c 65 6c 2c 20 |): In pa|rallel, |
|00000060| 73 65 74 20 65 61 63 68 | 20 56 41 52 49 41 42 4c |set each| VARIABL|
|00000070| 45 20 74 6f 20 69 74 73 | 20 56 41 4c 55 45 2e 0a |E to its| VALUE..|
|00000080| 41 6c 6c 20 74 68 65 20 | 56 41 4c 55 45 73 20 61 |All the |VALUEs a|
|00000090| 72 65 20 65 76 61 6c 75 | 61 74 65 64 2c 20 61 6e |re evalu|ated, an|
|000000a0| 64 20 74 68 65 6e 20 61 | 6c 6c 20 74 68 65 20 56 |d then a|ll the V|
|000000b0| 41 52 49 41 42 4c 45 73 | 20 61 72 65 20 73 65 74 |ARIABLEs| are set|
|000000c0| 2e 0a 41 73 69 64 65 20 | 66 72 6f 6d 20 6f 72 64 |..Aside |from ord|
|000000d0| 65 72 20 6f 66 20 65 76 | 61 6c 75 61 74 69 6f 6e |er of ev|aluation|
|000000e0| 2c 20 74 68 69 73 20 69 | 73 20 74 68 65 20 73 61 |, this i|s the sa|
|000000f0| 6d 65 20 61 73 20 60 73 | 65 74 71 27 2e 22 20 28 |me as `s|etq'." (|
|00000100| 62 79 74 65 2d 63 6f 64 | 65 20 22 09 47 ce ce ce |byte-cod|e ".G...|
|00000110| ce ce ce 1e 07 1e 06 1d | 1c 1b 1a 18 cf d0 08 d1 |........|........|
|00000120| 5c 22 d2 5c 22 85 1e 00 | d3 d4 21 88 09 ce 1e 09 |\".\"...|..!.....|
|00000130| 1e 08 0e 08 85 5b 00 0e | 08 40 89 16 09 88 0e 09 |.....[..|.@......|
|00000140| 39 3f 85 3f 00 d3 d5 d6 | 0e 09 21 5c 22 88 0e 09 |9?.?....|..!\"...|
|00000150| 0a 42 89 12 88 0e 08 41 | 40 0b 42 89 13 88 0e 08 |.B.....A|@.B.....|
|00000160| 41 41 89 16 08 88 82 25 | 00 2a 88 0b ce ce 1e 0b |AA.....%|.*......|
|00000170| 1e 0a 1e 08 0e 08 85 93 | 00 0e 08 40 89 16 0a 88 |........|...@....|
|00000180| d7 20 89 16 0b 88 0e 0b | 0e 0a 44 0c 42 89 14 88 |. ......|..D.B...|
|00000190| 0e 0b 0d 42 89 15 88 0e | 08 41 89 16 08 88 82 66 |...B....|.A.....f|
|000001a0| 00 2b 88 d8 0d 21 89 15 | 88 0a 0d 1e 0d 1e 0c 0e |.+...!..|........|
|000001b0| 0c 85 c5 00 0e 0c 40 0e | 0d 40 0e 06 42 42 89 16 |......@.|.@..BB..|
|000001c0| 06 88 0e 0c 41 89 16 0c | 88 0e 0d 41 89 16 0d 88 |....A...|...A....|
|000001d0| 82 a1 00 2a 88 d9 0c da | 0e 06 42 ce 46 2e 07 87 |...*....|..B.F...|
|000001e0| 22 20 5b 6e 66 6f 72 6d | 73 20 70 61 69 72 73 20 |" [nform|s pairs |
|000001f0| 73 79 6d 62 6f 6c 73 20 | 66 6f 72 6d 73 20 62 69 |symbols |forms bi|
|00000200| 6e 64 69 6e 67 73 20 6e | 65 77 73 79 6d 73 20 61 |ndings n|ewsyms a|
|00000210| 73 73 69 67 6e 6d 65 6e | 74 73 20 69 20 70 74 72 |ssignmen|ts i ptr|
|00000220| 20 76 61 72 20 66 6f 72 | 6d 20 6e 65 77 73 79 6d | var for|m newsym|
|00000230| 20 70 74 72 31 20 70 74 | 72 32 20 6e 69 6c 20 2f | ptr1 pt|r2 nil /|
|00000240| 3d 20 25 20 32 20 30 20 | 65 72 72 6f 72 20 22 4f |= % 2 0 |error "O|
|00000250| 64 64 20 6e 75 6d 62 65 | 72 20 6f 66 20 61 72 67 |dd numbe|r of arg|
|00000260| 75 6d 65 6e 74 73 20 74 | 6f 20 60 70 73 65 74 71 |uments t|o `psetq|
|00000270| 27 22 20 22 60 70 73 65 | 74 71 27 20 65 78 70 65 |'" "`pse|tq' expe|
|00000280| 63 74 65 64 20 61 20 73 | 79 6d 62 6f 6c 2c 20 66 |cted a s|ymbol, f|
|00000290| 6f 75 6e 64 20 27 25 73 | 27 2e 22 20 70 72 69 6e |ound '%s|'." prin|
|000002a0| 31 2d 74 6f 2d 73 74 72 | 69 6e 67 20 67 65 6e 73 |1-to-str|ing gens|
|000002b0| 79 6d 20 6e 72 65 76 65 | 72 73 65 20 6c 65 74 20 |ym nreve|rse let |
|000002c0| 73 65 74 71 5d 20 31 31 | 29 29 0a 0a 28 64 65 66 |setq] 11|))..(def|
|000002d0| 75 6e 20 70 61 69 72 2d | 77 69 74 68 2d 6e 65 77 |un pair-|with-new|
|000002e0| 73 79 6d 73 20 28 6f 6c | 64 66 6f 72 6d 73 29 20 |syms (ol|dforms) |
|000002f0| 22 5c 0a 50 41 49 52 2d | 57 49 54 48 2d 4e 45 57 |"\.PAIR-|WITH-NEW|
|00000300| 53 59 4d 53 20 4f 4c 44 | 46 4f 52 4d 53 0a 54 68 |SYMS OLD|FORMS.Th|
|00000310| 65 20 74 6f 70 2d 6c 65 | 76 65 6c 20 63 6f 6d 70 |e top-le|vel comp|
|00000320| 6f 6e 65 6e 74 73 20 6f | 66 20 74 68 65 20 6c 69 |onents o|f the li|
|00000330| 73 74 20 6f 6c 64 66 6f | 72 6d 73 20 61 72 65 20 |st oldfo|rms are |
|00000340| 70 61 69 72 65 64 20 77 | 69 74 68 20 66 72 65 73 |paired w|ith fres|
|00000350| 68 0a 73 79 6d 62 6f 6c | 73 2c 20 74 68 65 20 70 |h.symbol|s, the p|
|00000360| 61 69 72 69 6e 67 73 20 | 6c 69 73 74 20 61 6e 64 |airings |list and|
|00000370| 20 74 68 65 20 6e 65 77 | 73 79 6d 73 20 6c 69 73 | the new|syms lis|
|00000380| 74 20 61 72 65 20 72 65 | 74 75 72 6e 65 64 2e 22 |t are re|turned."|
|00000390| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 09 c6 c6 | (byte-c|ode "...|
|000003a0| 1b 1a 18 c7 08 21 3f 85 | 2d 00 c8 20 1c 0c 08 40 |.....!?.|-.. ...@|
|000003b0| 44 0a 42 89 12 88 0c 0b | 42 89 13 29 88 08 41 1d |D.B.....|B..)..A.|
|000003c0| 0d 89 10 88 c6 29 88 82 | 06 00 88 c9 ca 0a 21 ca |.....)..|......!.|
|000003d0| 0b 21 5c 22 2b 87 22 20 | 5b 70 74 72 20 6f 6c 64 |.!\"+." |[ptr old|
|000003e0| 66 6f 72 6d 73 20 62 69 | 6e 64 69 6e 67 73 20 6e |forms bi|ndings n|
|000003f0| 65 77 73 79 6d 73 20 6e | 65 77 73 79 6d 20 47 24 |ewsyms n|ewsym G$|
|00000400| 24 5f 35 30 30 20 6e 69 | 6c 20 65 6e 64 70 20 67 |$_500 ni|l endp g|
|00000410| 65 6e 74 65 6d 70 20 76 | 61 6c 75 65 73 20 6e 72 |entemp v|alues nr|
|00000420| 65 76 65 72 73 65 5d 20 | 37 29 29 0a 0a 28 64 65 |everse] |7))..(de|
|00000430| 66 75 6e 20 7a 69 70 2d | 6c 69 73 74 73 20 28 65 |fun zip-|lists (e|
|00000440| 76 65 6e 73 20 6f 64 64 | 73 29 20 22 5c 0a 4d 65 |vens odd|s) "\.Me|
|00000450| 72 67 65 20 74 77 6f 20 | 6c 69 73 74 73 20 45 56 |rge two |lists EV|
|00000460| 45 4e 53 20 61 6e 64 20 | 4f 44 44 53 2c 20 74 61 |ENS and |ODDS, ta|
|00000470| 6b 69 6e 67 20 65 6c 74 | 73 20 66 72 6f 6d 20 65 |king elt|s from e|
|00000480| 61 63 68 20 6c 69 73 74 | 20 61 6c 74 65 72 6e 61 |ach list| alterna|
|00000490| 74 69 6e 67 6c 79 2e 0a | 45 56 45 4e 53 20 61 6e |tingly..|EVENS an|
|000004a0| 64 20 4f 44 44 53 20 61 | 72 65 20 74 77 6f 20 6c |d ODDS a|re two l|
|000004b0| 69 73 74 73 2e 20 20 5a | 49 50 2d 4c 49 53 54 53 |ists. Z|IP-LISTS|
|000004c0| 20 63 6f 6e 73 74 72 75 | 63 74 73 20 61 20 6e 65 | constru|cts a ne|
|000004d0| 77 20 6c 69 73 74 2c 20 | 77 68 6f 73 65 0a 65 76 |w list, |whose.ev|
|000004e0| 65 6e 20 6e 75 6d 62 65 | 72 65 64 20 65 6c 65 6d |en numbe|red elem|
|000004f0| 65 6e 74 73 20 28 30 2c | 32 2c 2e 2e 2e 29 20 63 |ents (0,|2,...) c|
|00000500| 6f 6d 65 20 66 72 6f 6d | 20 45 56 45 4e 53 20 61 |ome from| EVENS a|
|00000510| 6e 64 20 77 68 6f 73 65 | 20 6f 64 64 0a 6e 75 6d |nd whose| odd.num|
|00000520| 62 65 72 65 64 20 65 6c | 65 6d 65 6e 74 73 20 28 |bered el|ements (|
|00000530| 31 2c 33 2c 2e 2e 2e 29 | 20 63 6f 6d 65 20 66 72 |1,3,...)| come fr|
|00000540| 6f 6d 20 4f 44 44 53 2e | 20 0a 54 68 65 20 63 6f |om ODDS.| .The co|
|00000550| 6e 73 74 72 75 63 74 69 | 6f 6e 20 73 74 6f 70 73 |nstructi|on stops|
|00000560| 20 77 68 65 6e 20 74 68 | 65 20 73 68 6f 72 74 65 | when th|e shorte|
|00000570| 72 20 6c 69 73 74 20 69 | 73 20 65 78 68 61 75 73 |r list i|s exhaus|
|00000580| 74 65 64 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |ted." (b|yte-code|
|00000590| 20 22 09 18 0b 1a 08 40 | 1c 0a 40 1d c7 1e 06 c8 | ".....@|..@.....|
|000005a0| 08 21 86 16 00 c8 0a 21 | 3f 85 35 00 0d 0c 0e 06 |.!.....!|?.5.....|
|000005b0| 42 42 89 16 06 88 08 41 | 10 0a 41 12 08 40 14 0a |BB.....A|..A..@..|
|000005c0| 40 89 15 88 82 0d 00 88 | c9 0e 06 21 2d 87 22 20 |@.......|...!-." |
|000005d0| 5b 70 30 20 65 76 65 6e | 73 20 70 31 20 6f 64 64 |[p0 even|s p1 odd|
|000005e0| 73 20 65 76 65 6e 20 6f | 64 64 20 72 65 73 75 6c |s even o|dd resul|
|000005f0| 74 20 6e 69 6c 20 65 6e | 64 70 20 6e 72 65 76 65 |t nil en|dp nreve|
|00000600| 72 73 65 5d 20 36 29 29 | 0a 0a 28 64 65 66 75 6e |rse] 6))|..(defun|
|00000610| 20 75 6e 7a 69 70 2d 6c | 69 73 74 20 28 6c 69 73 | unzip-l|ist (lis|
|00000620| 74 29 20 22 5c 0a 45 78 | 74 72 61 63 74 20 65 76 |t) "\.Ex|tract ev|
|00000630| 65 6e 20 61 6e 64 20 6f | 64 64 20 65 6c 65 6d 65 |en and o|dd eleme|
|00000640| 6e 74 73 20 6f 66 20 4c | 49 53 54 20 69 6e 74 6f |nts of L|IST into|
|00000650| 20 74 77 6f 20 73 65 70 | 61 72 61 74 65 20 6c 69 | two sep|arate li|
|00000660| 73 74 73 2e 0a 54 68 65 | 20 61 72 67 75 6d 65 6e |sts..The| argumen|
|00000670| 74 20 4c 49 53 54 20 69 | 73 20 73 65 70 61 72 61 |t LIST i|s separa|
|00000680| 74 65 64 20 69 6e 20 74 | 77 6f 20 73 74 72 61 6e |ted in t|wo stran|
|00000690| 64 73 2c 20 74 68 65 20 | 65 76 65 6e 20 61 6e 64 |ds, the |even and|
|000006a0| 20 74 68 65 20 6f 64 64 | 0a 6e 75 6d 62 65 72 65 | the odd|.numbere|
|000006b0| 64 20 65 6c 65 6d 65 6e | 74 73 2e 20 20 4e 75 6d |d elemen|ts. Num|
|000006c0| 62 65 72 69 6e 67 20 73 | 74 61 72 74 73 20 77 69 |bering s|tarts wi|
|000006d0| 74 68 20 30 2c 20 73 6f | 20 74 68 65 20 66 69 72 |th 0, so| the fir|
|000006e0| 73 74 20 65 6c 65 6d 65 | 6e 74 0a 62 65 6c 6f 6e |st eleme|nt.belon|
|000006f0| 67 73 20 69 6e 20 45 56 | 45 4e 53 2e 20 4e 6f 20 |gs in EV|ENS. No |
|00000700| 63 68 65 63 6b 20 69 73 | 20 6d 61 64 65 20 74 68 |check is| made th|
|00000710| 61 74 20 74 68 65 72 65 | 20 69 73 20 61 6e 20 65 |at there| is an e|
|00000720| 76 65 6e 20 6e 75 6d 62 | 65 72 20 6f 66 0a 65 6c |ven numb|er of.el|
|00000730| 65 6d 65 6e 74 73 20 74 | 6f 20 73 74 61 72 74 20 |ements t|o start |
|00000740| 77 69 74 68 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 |with." (|byte-cod|
|00000750| 65 20 22 09 18 08 40 1a | c6 08 21 1b c7 1c c7 1d |e "...@.|..!.....|
|00000760| c8 08 21 3f 85 30 00 0a | 0c 42 89 14 88 0b 0d 42 |..!?.0..|.B.....B|
|00000770| 89 15 88 c9 08 21 10 08 | 40 12 c6 08 21 89 13 88 |.....!..|@...!...|
|00000780| 82 0d 00 88 ca cb 0c 21 | cb 0d 21 5c 22 2d 87 22 |.......!|..!\"-."|
|00000790| 20 5b 70 74 72 20 6c 69 | 73 74 20 74 68 69 73 20 | [ptr li|st this |
|000007a0| 6e 65 78 74 20 65 76 65 | 6e 73 20 6f 64 64 73 20 |next eve|ns odds |
|000007b0| 63 61 64 72 20 6e 69 6c | 20 65 6e 64 70 20 63 64 |cadr nil| endp cd|
|000007c0| 64 72 20 76 61 6c 75 65 | 73 20 6e 72 65 76 65 72 |dr value|s nrever|
|000007d0| 73 65 5d 20 39 29 29 0a | 0a 28 64 65 66 75 6e 20 |se] 9)).|.(defun |
|000007e0| 72 65 61 73 73 65 6d 62 | 6c 65 2d 61 72 67 73 6c |reassemb|le-argsl|
|000007f0| 69 73 74 73 20 28 61 72 | 67 73 6c 69 73 74 73 29 |ists (ar|gslists)|
|00000800| 20 22 5c 0a 28 72 65 61 | 73 73 65 6d 62 6c 65 2d | "\.(rea|ssemble-|
|00000810| 61 72 67 73 6c 69 73 74 | 73 20 41 52 47 53 4c 49 |argslist|s ARGSLI|
|00000820| 53 54 53 29 2e 0a 41 52 | 47 53 4c 49 53 54 53 20 |STS)..AR|GSLISTS |
|00000830| 69 73 20 61 20 6c 69 73 | 74 20 6f 66 20 73 65 71 |is a lis|t of seq|
|00000840| 75 65 6e 63 65 73 2e 20 | 20 52 65 74 75 72 6e 20 |uences. | Return |
|00000850| 61 20 6c 69 73 74 20 6f | 66 20 6c 69 73 74 73 2c |a list o|f lists,|
|00000860| 20 74 68 65 20 66 69 72 | 73 74 0a 73 75 62 6c 69 | the fir|st.subli|
|00000870| 73 74 20 62 65 69 6e 67 | 20 61 6c 6c 20 74 68 65 |st being| all the|
|00000880| 20 65 6e 74 72 69 65 73 | 20 63 6f 6d 69 6e 67 20 | entries| coming |
|00000890| 66 72 6f 6d 20 45 4c 54 | 20 30 20 6f 66 20 74 68 |from ELT| 0 of th|
|000008a0| 65 20 6f 72 69 67 69 6e | 61 6c 0a 73 75 62 6c 69 |e origin|al.subli|
|000008b0| 73 74 73 2c 20 74 68 65 | 20 6e 65 78 74 20 74 68 |sts, the| next th|
|000008c0| 6f 73 65 20 63 6f 6d 69 | 6e 67 20 66 72 6f 6d 20 |ose comi|ng from |
|000008d0| 45 4c 54 20 31 20 61 6e | 64 20 73 6f 20 6f 6e 2c |ELT 1 an|d so on,|
|000008e0| 20 75 6e 74 69 6c 20 74 | 68 65 0a 73 68 6f 72 74 | until t|he.short|
|000008f0| 65 73 74 20 6c 69 73 74 | 20 69 73 20 65 78 68 61 |est list| is exha|
|00000900| 75 73 74 65 64 2e 22 20 | 28 62 79 74 65 2d 63 6f |usted." |(byte-co|
|00000910| 64 65 20 22 c5 c6 c7 c8 | 09 5c 22 5c 22 18 c9 1a |de "....|.\"\"...|
|00000920| 08 1b ca 1c 0c 0b 59 3f | 85 27 00 c7 cb 09 5c 22 |......Y?|.'....\"|
|00000930| 0a 42 89 12 88 0c cc 5c | 5c 89 14 88 82 0e 00 88 |.B.....\|\.......|
|00000940| cd 0a 21 29 29 2a 87 22 | 20 5b 6d 69 6e 6c 65 6e |..!))*."| [minlen|
|00000950| 20 61 72 67 73 6c 69 73 | 74 73 20 72 65 73 75 6c | argslis|ts resul|
|00000960| 74 20 54 24 24 5f 30 20 | 69 20 61 70 70 6c 79 20 |t T$$_0 |i apply |
|00000970| 6d 69 6e 20 6d 61 70 63 | 61 72 20 6c 65 6e 67 74 |min mapc|ar lengt|
|00000980| 68 20 6e 69 6c 20 30 20 | 28 6c 61 6d 62 64 61 20 |h nil 0 |(lambda |
|00000990| 28 73 75 62 6c 69 73 74 | 29 20 28 62 79 74 65 2d |(sublist|) (byte-|
|000009a0| 63 6f 64 65 20 22 c2 08 | 09 5c 22 87 22 20 5b 73 |code "..|.\"." [s|
|000009b0| 75 62 6c 69 73 74 20 69 | 20 65 6c 74 5d 20 33 29 |ublist i| elt] 3)|
|000009c0| 29 20 31 20 6e 72 65 76 | 65 72 73 65 5d 20 36 29 |) 1 nrev|erse] 6)|
|000009d0| 29 0a 0a 28 64 65 66 75 | 6e 20 62 75 69 6c 64 2d |)..(defu|n build-|
|000009e0| 6b 6c 69 73 74 20 28 61 | 72 67 73 6c 69 73 74 20 |klist (a|rgslist |
|000009f0| 61 63 63 65 70 74 61 62 | 6c 65 29 20 22 5c 0a 44 |acceptab|le) "\.D|
|00000a00| 65 63 6f 64 65 20 61 20 | 6b 65 79 77 6f 72 64 20 |ecode a |keyword |
|00000a10| 61 72 67 75 6d 65 6e 74 | 20 6c 69 73 74 20 41 52 |argument| list AR|
|00000a20| 47 53 4c 49 53 54 20 66 | 6f 72 20 6b 65 79 77 6f |GSLIST f|or keywo|
|00000a30| 72 64 73 20 69 6e 20 41 | 43 43 45 50 54 41 42 4c |rds in A|CCEPTABL|
|00000a40| 45 2e 0a 41 52 47 53 4c | 49 53 54 20 69 73 20 61 |E..ARGSL|IST is a|
|00000a50| 20 6c 69 73 74 2c 20 70 | 72 65 73 75 6d 61 62 6c | list, p|resumabl|
|00000a60| 79 20 74 68 65 20 26 72 | 65 73 74 20 61 72 67 75 |y the &r|est argu|
|00000a70| 6d 65 6e 74 20 6f 66 20 | 61 20 63 61 6c 6c 2c 20 |ment of |a call, |
|00000a80| 77 68 6f 73 65 0a 65 76 | 65 6e 20 6e 75 6d 62 65 |whose.ev|en numbe|
|00000a90| 72 65 64 20 65 6c 65 6d | 65 6e 74 73 20 6d 75 73 |red elem|ents mus|
|00000aa0| 74 20 62 65 20 6b 65 79 | 77 6f 72 64 73 2e 0a 41 |t be key|words..A|
|00000ab0| 43 43 45 50 54 41 42 4c | 45 20 69 73 20 61 20 6c |CCEPTABL|E is a l|
|00000ac0| 69 73 74 20 6f 66 20 6b | 65 79 77 6f 72 64 73 2c |ist of k|eywords,|
|00000ad0| 20 74 68 65 20 6f 6e 6c | 79 20 6f 6e 65 73 20 74 | the onl|y ones t|
|00000ae0| 68 61 74 20 61 72 65 20 | 74 72 75 6c 79 20 61 63 |hat are |truly ac|
|00000af0| 63 65 70 74 61 62 6c 65 | 2e 0a 54 68 65 20 72 65 |ceptable|..The re|
|00000b00| 73 75 6c 74 20 69 73 20 | 61 6e 20 61 6c 69 73 74 |sult is |an alist|
|00000b10| 20 63 6f 6e 74 61 69 6e | 69 6e 67 20 74 68 65 20 | contain|ing the |
|00000b20| 61 72 67 75 6d 65 6e 74 | 73 20 6e 61 6d 65 64 20 |argument|s named |
|00000b30| 62 79 20 74 68 65 20 6b | 65 79 77 6f 72 64 73 0a |by the k|eywords.|
|00000b40| 69 6e 20 41 43 43 45 50 | 54 41 42 4c 45 2c 20 6f |in ACCEP|TABLE, o|
|00000b50| 72 20 6e 69 6c 20 69 66 | 20 73 6f 6d 65 74 68 69 |r nil if| somethi|
|00000b60| 6e 67 20 66 61 69 6c 65 | 64 2e 22 20 28 62 79 74 |ng faile|d." (byt|
|00000b70| 65 2d 63 6f 64 65 20 22 | 08 3c 85 09 00 ce 08 47 |e-code "|.<.....G|
|00000b80| 21 83 10 00 c1 82 13 00 | cf d0 21 88 0a 3c 85 1d |!.......|..!..<..|
|00000b90| 00 d1 d2 0a 5c 22 83 24 | 00 c1 82 27 00 cf d3 21 |....\".$|...'...!|
|00000ba0| 88 c1 89 14 88 d4 20 1d | 0d d5 08 21 4c 88 0c 83 |...... .|...!L...|
|00000bb0| 40 00 d6 0e 06 21 82 4f | 00 d7 89 14 88 0d 4a 43 |@....!.O|......JC|
|00000bc0| 89 16 06 88 d6 0e 06 21 | 29 1b d7 0b 38 1e 07 d8 |.......!|)...8...|
|00000bd0| 0b 38 1e 08 d1 d2 0e 08 | 5c 22 83 67 00 c1 82 6e |.8......|\".g...n|
|00000be0| 00 cf d9 da 0e 08 21 5c | 22 88 db 0e 08 0e 07 5c |......!\|"......\|
|00000bf0| 22 1e 09 0a 1e 0a 0e 0a | 40 1e 0b c1 1e 0c c1 1e |".......|@.......|
|00000c00| 0d dc 0e 0a 21 3f 85 b6 | 00 dd 0e 0b 0e 09 5c 22 |....!?..|......\"|
|00000c10| 89 16 0c 3f 83 9e 00 c1 | 82 a6 00 0e 0c 0e 0d 42 |...?....|.......B|
|00000c20| 89 16 0d 88 0e 0a 41 16 | 0a 0e 0a 40 89 16 0b 88 |......A.|...@....|
|00000c30| 82 85 00 88 0e 0d 2d 2b | 87 22 20 5b 61 72 67 73 |......-+|." [args|
|00000c40| 6c 69 73 74 20 6e 69 6c | 20 61 63 63 65 70 74 61 |list nil| accepta|
|00000c50| 62 6c 65 20 54 24 24 5f | 31 20 2a 6d 76 61 6c 75 |ble T$$_|1 *mvalu|
|00000c60| 65 73 2d 63 6f 75 6e 74 | 2a 20 69 74 20 2a 6d 76 |es-count|* it *mv|
|00000c70| 61 6c 75 65 73 2d 76 61 | 6c 75 65 73 2a 20 66 6f |alues-va|lues* fo|
|00000c80| 72 6d 73 20 6b 65 79 77 | 6f 72 64 73 20 61 75 78 |rms keyw|ords aux|
|00000c90| 6c 69 73 74 20 70 74 72 | 20 74 68 69 73 20 61 75 |list ptr| this au|
|00000ca0| 78 76 61 6c 20 61 6c 69 | 73 74 20 65 76 65 6e 70 |xval ali|st evenp|
|00000cb0| 20 65 72 72 6f 72 20 22 | 4f 64 64 20 6e 75 6d 62 | error "|Odd numb|
|00000cc0| 65 72 20 6f 66 20 6b 65 | 79 77 6f 72 64 2d 61 72 |er of ke|yword-ar|
|00000cd0| 67 73 22 20 65 76 65 72 | 79 20 6b 65 79 77 6f 72 |gs" ever|y keywor|
|00000ce0| 64 70 20 22 53 65 63 6f | 6e 64 20 61 72 67 20 73 |dp "Seco|nd arg s|
|00000cf0| 68 6f 75 6c 64 20 62 65 | 20 61 20 6c 69 73 74 20 |hould be| a list |
|00000d00| 6f 66 20 6b 65 79 77 6f | 72 64 73 22 20 67 65 6e |of keywo|rds" gen|
|00000d10| 73 79 6d 20 75 6e 7a 69 | 70 2d 6c 69 73 74 20 63 |sym unzi|p-list c|
|00000d20| 6f 70 79 2d 73 65 71 75 | 65 6e 63 65 20 31 20 30 |opy-sequ|ence 1 0|
|00000d30| 20 22 45 78 70 65 63 74 | 65 64 20 6b 65 79 77 6f | "Expect|ed keywo|
|00000d40| 72 64 73 2c 20 66 6f 75 | 6e 64 20 60 25 73 27 22 |rds, fou|nd `%s'"|
|00000d50| 20 70 72 69 6e 31 2d 74 | 6f 2d 73 74 72 69 6e 67 | prin1-t|o-string|
|00000d60| 20 70 61 69 72 6c 69 73 | 20 65 6e 64 70 20 61 73 | pairlis| endp as|
|00000d70| 73 6f 63 5d 20 31 37 29 | 29 0a 0a 28 64 65 66 75 |soc] 17)|)..(defu|
|00000d80| 6e 20 64 75 70 6c 69 63 | 61 74 65 2d 73 79 6d 62 |n duplic|ate-symb|
|00000d90| 6f 6c 73 2d 70 20 28 6c | 69 73 74 29 20 22 5c 0a |ols-p (l|ist) "\.|
|00000da0| 46 69 6e 64 20 61 6c 6c | 20 73 79 6d 62 6f 6c 73 |Find all| symbols|
|00000db0| 20 61 70 70 65 61 72 69 | 6e 67 20 6d 6f 72 65 20 | appeari|ng more |
|00000dc0| 74 68 61 6e 20 6f 6e 63 | 65 20 69 6e 20 4c 49 53 |than onc|e in LIS|
|00000dd0| 54 2e 0a 52 65 74 75 72 | 6e 20 61 20 6c 69 73 74 |T..Retur|n a list|
|00000de0| 20 6f 66 20 61 6c 6c 20 | 73 75 63 68 20 64 75 70 | of all |such dup|
|00000df0| 6c 69 63 61 74 65 73 3b | 20 60 6e 69 6c 27 20 69 |licates;| `nil' i|
|00000e00| 66 20 74 68 65 72 65 20 | 61 72 65 20 6e 6f 20 64 |f there |are no d|
|00000e10| 75 70 6c 69 63 61 74 65 | 73 2e 22 20 28 62 79 74 |uplicate|s." (byt|
|00000e20| 65 2d 63 6f 64 65 20 22 | c3 c5 20 19 18 0a 3c 85 |e-code "|.. ...<.|
|00000e30| 0e 00 c6 c7 0a 5c 22 83 | 15 00 c3 82 18 00 c8 c9 |.....\".|........|
|00000e40| 21 88 ca cb 0a 5c 22 88 | c3 1c c3 29 88 ca cc 0a |!....\".|...)....|
|00000e50| 5c 22 88 c3 1c c3 29 88 | ca cd 0a 5c 22 88 c3 1c |\"....).|...\"...|
|00000e60| c3 29 88 08 2a 87 22 20 | 5b 64 75 70 6c 69 63 61 |.)..*." |[duplica|
|00000e70| 74 65 73 20 70 72 6f 70 | 6e 61 6d 65 20 6c 69 73 |tes prop|name lis|
|00000e80| 74 20 6e 69 6c 20 78 20 | 67 65 6e 73 79 6d 20 65 |t nil x |gensym e|
|00000e90| 76 65 72 79 20 73 79 6d | 62 6f 6c 70 20 65 72 72 |very sym|bolp err|
|00000ea0| 6f 72 20 22 41 20 6c 69 | 73 74 20 6f 66 20 73 79 |or "A li|st of sy|
|00000eb0| 6d 62 6f 6c 73 20 69 73 | 20 6e 65 65 64 65 64 22 |mbols is| needed"|
|00000ec0| 20 6d 61 70 63 61 72 20 | 28 6c 61 6d 62 64 61 20 | mapcar |(lambda |
|00000ed0| 28 78 29 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |(x) (byt|e-code "|
|00000ee0| c2 08 09 c3 23 87 22 20 | 5b 78 20 70 72 6f 70 6e |....#." |[x propn|
|00000ef0| 61 6d 65 20 70 75 74 20 | 30 5d 20 34 29 29 20 28 |ame put |0] 4)) (|
|00000f00| 6c 61 6d 62 64 61 20 28 | 78 29 20 28 62 79 74 65 |lambda (|x) (byte|
|00000f10| 2d 63 6f 64 65 20 22 c2 | 08 09 08 09 4e 54 23 87 |-code ".|....NT#.|
|00000f20| 22 20 5b 78 20 70 72 6f | 70 6e 61 6d 65 20 70 75 |" [x pro|pname pu|
|00000f30| 74 5d 20 35 29 29 20 28 | 6c 61 6d 62 64 61 20 28 |t] 5)) (|lambda (|
|00000f40| 78 29 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |x) (byte|-code ".|
|00000f50| 09 4e c3 56 85 0d 00 08 | 0a 42 89 12 87 22 20 5b |.N.V....|.B..." [|
|00000f60| 78 20 70 72 6f 70 6e 61 | 6d 65 20 64 75 70 6c 69 |x propna|me dupli|
|00000f70| 63 61 74 65 73 20 31 5d | 20 32 29 29 5d 20 38 29 |cates 1]| 2))] 8)|
|00000f80| 29 0a 0a 28 64 65 66 6d | 61 63 72 6f 20 64 65 66 |)..(defm|acro def|
|00000f90| 6b 65 79 77 6f 72 64 20 | 28 78 20 26 6f 70 74 69 |keyword |(x &opti|
|00000fa0| 6f 6e 61 6c 20 64 6f 63 | 73 74 72 69 6e 67 29 20 |onal doc|string) |
|00000fb0| 22 4d 61 6b 65 20 73 79 | 6d 62 6f 6c 20 58 20 61 |"Make sy|mbol X a|
|00000fc0| 20 6b 65 79 77 6f 72 64 | 20 28 73 79 6d 62 6f 6c | keyword| (symbol|
|00000fd0| 20 77 68 6f 73 65 20 76 | 61 6c 75 65 20 69 73 20 | whose v|alue is |
|00000fe0| 69 74 73 65 6c 66 29 2e | 0a 4f 70 74 69 6f 6e 61 |itself).|.Optiona|
|00000ff0| 6c 20 73 65 63 6f 6e 64 | 20 61 72 67 75 6d 65 6e |l second| argumen|
|00001000| 74 20 69 73 20 61 20 64 | 6f 63 75 6d 65 6e 74 61 |t is a d|ocumenta|
|00001010| 74 69 6f 6e 20 73 74 72 | 69 6e 67 20 66 6f 72 20 |tion str|ing for |
|00001020| 69 74 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |it." (by|te-code |
|00001030| 22 08 39 83 0e 00 c2 08 | c3 08 44 45 82 14 00 c4 |".9.....|..DE....|
|00001040| c5 c6 08 21 5c 22 87 22 | 20 5b 78 20 74 20 64 65 |...!\"."| [x t de|
|00001050| 66 63 6f 6e 73 74 20 71 | 75 6f 74 65 20 65 72 72 |fconst q|uote err|
|00001060| 6f 72 20 22 60 25 73 27 | 20 69 73 20 6e 6f 74 20 |or "`%s'| is not |
|00001070| 61 20 73 79 6d 62 6f 6c | 22 20 70 72 69 6e 31 2d |a symbol|" prin1-|
|00001080| 74 6f 2d 73 74 72 69 6e | 67 5d 20 34 29 29 0a 0a |to-strin|g] 4))..|
|00001090| 28 64 65 66 75 6e 20 6b | 65 79 77 6f 72 64 70 20 |(defun k|eywordp |
|000010a0| 28 73 79 6d 29 20 22 5c | 0a 52 65 74 75 72 6e 20 |(sym) "\|.Return |
|000010b0| 60 74 27 20 69 66 20 53 | 59 4d 20 69 73 20 61 20 |`t' if S|YM is a |
|000010c0| 6b 65 79 77 6f 72 64 2e | 22 20 28 62 79 74 65 2d |keyword.|" (byte-|
|000010d0| 63 6f 64 65 20 22 08 39 | 85 0d 00 c3 c4 08 21 c5 |code ".9|......!.|
|000010e0| 48 c6 5c 22 83 16 00 08 | 08 4c 82 17 00 c2 87 22 |H.\"....|.L....."|
|000010f0| 20 5b 73 79 6d 20 74 20 | 6e 69 6c 20 63 68 61 72 | [sym t |nil char|
|00001100| 2d 65 71 75 61 6c 20 73 | 79 6d 62 6f 6c 2d 6e 61 |-equal s|ymbol-na|
|00001110| 6d 65 20 30 20 35 38 5d | 20 34 29 29 0a 0a 28 64 |me 0 58]| 4))..(d|
|00001120| 65 66 75 6e 20 6b 65 79 | 77 6f 72 64 2d 6f 66 20 |efun key|word-of |
|00001130| 28 73 79 6d 29 20 22 5c | 0a 52 65 74 75 72 6e 20 |(sym) "\|.Return |
|00001140| 61 20 6b 65 79 77 6f 72 | 64 20 74 68 61 74 20 69 |a keywor|d that i|
|00001150| 73 20 6e 61 74 75 72 61 | 6c 6c 79 20 61 73 73 6f |s natura|lly asso|
|00001160| 63 69 61 74 65 64 20 77 | 69 74 68 20 73 79 6d 62 |ciated w|ith symb|
|00001170| 6f 6c 20 53 59 4d 2e 0a | 49 66 20 53 59 4d 20 69 |ol SYM..|If SYM i|
|00001180| 73 20 6b 65 79 77 6f 72 | 64 2c 20 74 68 65 20 76 |s keywor|d, the v|
|00001190| 61 6c 75 65 20 69 73 20 | 53 59 4d 2e 0a 4f 74 68 |alue is |SYM..Oth|
|000011a0| 65 72 77 69 73 65 20 69 | 74 20 69 73 20 61 20 6b |erwise i|t is a k|
|000011b0| 65 79 77 6f 72 64 20 77 | 68 6f 73 65 20 6e 61 6d |eyword w|hose nam|
|000011c0| 65 20 69 73 20 60 3a 27 | 20 66 6f 6c 6c 6f 77 65 |e is `:'| followe|
|000011d0| 64 20 62 79 20 53 59 4d | 27 73 20 6e 61 6d 65 2e |d by SYM|'s name.|
|000011e0| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c3 08 |" (byte-|code "..|
|000011f0| 21 83 0a 00 08 82 24 00 | 08 39 83 1e 00 c4 c5 c6 |!.....$.|.9......|
|00001200| 08 21 50 21 19 09 09 4c | 29 82 24 00 c7 c8 c9 08 |.!P!...L|).$.....|
|00001210| 21 5c 22 87 22 20 5b 73 | 79 6d 20 6e 65 77 73 79 |!\"." [s|ym newsy|
|00001220| 6d 20 74 20 6b 65 79 77 | 6f 72 64 70 20 69 6e 74 |m t keyw|ordp int|
|00001230| 65 72 6e 20 22 3a 22 20 | 73 79 6d 62 6f 6c 2d 6e |ern ":" |symbol-n|
|00001240| 61 6d 65 20 65 72 72 6f | 72 20 22 45 78 70 65 63 |ame erro|r "Expec|
|00001250| 74 65 64 20 61 20 73 79 | 6d 62 6f 6c 2c 20 6e 6f |ted a sy|mbol, no|
|00001260| 74 20 60 25 73 27 22 20 | 70 72 69 6e 31 2d 74 6f |t `%s'" |prin1-to|
|00001270| 2d 73 74 72 69 6e 67 5d | 20 37 29 29 0a 0a 28 64 |-string]| 7))..(d|
|00001280| 65 66 76 61 72 20 2a 67 | 65 6e 74 65 6d 70 2d 69 |efvar *g|entemp-i|
|00001290| 6e 64 65 78 2a 20 30 20 | 22 5c 0a 49 6e 74 65 67 |ndex* 0 |"\.Integ|
|000012a0| 65 72 20 75 73 65 64 20 | 62 79 20 67 65 6e 74 65 |er used |by gente|
|000012b0| 6d 70 20 74 6f 20 70 72 | 6f 64 75 63 65 20 6e 65 |mp to pr|oduce ne|
|000012c0| 77 20 6e 61 6d 65 73 2e | 22 29 0a 0a 28 64 65 66 |w names.|")..(def|
|000012d0| 76 61 72 20 2a 67 65 6e | 74 65 6d 70 2d 70 72 65 |var *gen|temp-pre|
|000012e0| 66 69 78 2a 20 22 54 24 | 24 5f 22 20 22 5c 0a 4e |fix* "T$|$_" "\.N|
|000012f0| 61 6d 65 73 20 67 65 6e | 65 72 61 74 65 64 20 62 |ames gen|erated b|
|00001300| 79 20 67 65 6e 74 65 6d | 70 20 62 65 67 69 6e 20 |y gentem|p begin |
|00001310| 77 69 74 68 20 74 68 69 | 73 20 73 74 72 69 6e 67 |with thi|s string|
|00001320| 20 62 79 20 64 65 66 61 | 75 6c 74 2e 22 29 0a 0a | by defa|ult.")..|
|00001330| 28 64 65 66 75 6e 20 67 | 65 6e 74 65 6d 70 20 28 |(defun g|entemp (|
|00001340| 26 6f 70 74 69 6f 6e 61 | 6c 20 70 72 65 66 69 78 |&optiona|l prefix|
|00001350| 20 6f 62 6c 69 73 74 29 | 20 22 5c 0a 47 65 6e 65 | oblist)| "\.Gene|
|00001360| 72 61 74 65 20 61 20 66 | 72 65 73 68 20 69 6e 74 |rate a f|resh int|
|00001370| 65 72 6e 65 64 20 73 79 | 6d 62 6f 6c 2e 0a 54 68 |erned sy|mbol..Th|
|00001380| 65 72 65 20 61 72 65 20 | 32 20 6f 70 74 69 6f 6e |ere are |2 option|
|00001390| 61 6c 20 61 72 67 75 6d | 65 6e 74 73 2c 20 50 52 |al argum|ents, PR|
|000013a0| 45 46 49 58 20 61 6e 64 | 20 4f 42 4c 49 53 54 2e |EFIX and| OBLIST.|
|000013b0| 20 20 50 52 45 46 49 58 | 20 69 73 20 74 68 65 0a | PREFIX| is the.|
|000013c0| 73 74 72 69 6e 67 20 74 | 68 61 74 20 62 65 67 69 |string t|hat begi|
|000013d0| 6e 73 20 74 68 65 20 6e | 65 77 20 6e 61 6d 65 2c |ns the n|ew name,|
|000013e0| 20 4f 42 4c 49 53 54 20 | 69 73 20 74 68 65 20 6f | OBLIST |is the o|
|000013f0| 62 61 72 72 61 79 20 75 | 73 65 64 20 74 6f 20 73 |barray u|sed to s|
|00001400| 65 61 72 63 68 20 66 6f | 72 0a 6f 6c 64 20 6e 61 |earch fo|r.old na|
|00001410| 6d 65 73 2e 20 20 54 68 | 65 20 64 65 66 61 75 6c |mes. Th|e defaul|
|00001420| 74 73 20 61 72 65 20 6a | 75 73 74 20 72 69 67 68 |ts are j|ust righ|
|00001430| 74 2c 20 59 4f 55 20 53 | 48 4f 55 4c 44 20 4e 45 |t, YOU S|HOULD NE|
|00001440| 56 45 52 20 4e 45 45 44 | 20 54 48 45 53 45 0a 41 |VER NEED| THESE.A|
|00001450| 52 47 55 4d 45 4e 54 53 | 20 49 4e 20 59 4f 55 52 |RGUMENTS| IN YOUR|
|00001460| 20 4f 57 4e 20 43 4f 44 | 45 2e 22 20 28 62 79 74 | OWN COD|E." (byt|
|00001470| 65 2d 63 6f 64 65 20 22 | 08 3f 85 08 00 09 89 10 |e-code "|.?......|
|00001480| 88 0a 3f 85 11 00 0b 89 | 12 88 c5 c5 1e 06 1c 0c |..?.....|........|
|00001490| 3f 85 40 00 08 0e 07 50 | 89 16 06 88 0e 07 c8 5c |?.@....P|.......\|
|000014a0| 5c 89 16 07 88 c9 0e 06 | 0a 5c 22 3f 85 3c 00 ca |\.......|.\"?.<..|
|000014b0| 0e 06 0a 5c 22 89 14 88 | 82 17 00 88 0c 2a 87 22 |...\"...|.....*."|
|000014c0| 20 5b 70 72 65 66 69 78 | 20 2a 67 65 6e 74 65 6d | [prefix| *gentem|
|000014d0| 70 2d 70 72 65 66 69 78 | 2a 20 6f 62 6c 69 73 74 |p-prefix|* oblist|
|000014e0| 20 6f 62 61 72 72 61 79 | 20 6e 65 77 73 79 6d 62 | obarray| newsymb|
|000014f0| 6f 6c 20 6e 69 6c 20 6e | 65 77 6e 61 6d 65 20 2a |ol nil n|ewname *|
|00001500| 67 65 6e 74 65 6d 70 2d | 69 6e 64 65 78 2a 20 31 |gentemp-|index* 1|
|00001510| 20 69 6e 74 65 72 6e 2d | 73 6f 66 74 20 69 6e 74 | intern-|soft int|
|00001520| 65 72 6e 5d 20 35 29 29 | 0a 0a 28 64 65 66 76 61 |ern] 5))|..(defva|
|00001530| 72 20 2a 67 65 6e 73 79 | 6d 2d 69 6e 64 65 78 2a |r *gensy|m-index*|
|00001540| 20 30 20 22 5c 0a 49 6e | 74 65 67 65 72 20 75 73 | 0 "\.In|teger us|
|00001550| 65 64 20 62 79 20 67 65 | 6e 73 79 6d 20 74 6f 20 |ed by ge|nsym to |
|00001560| 70 72 6f 64 75 63 65 20 | 6e 65 77 20 6e 61 6d 65 |produce |new name|
|00001570| 73 2e 22 29 0a 0a 28 64 | 65 66 76 61 72 20 2a 67 |s.")..(d|efvar *g|
|00001580| 65 6e 73 79 6d 2d 70 72 | 65 66 69 78 2a 20 22 47 |ensym-pr|efix* "G|
|00001590| 24 24 5f 22 20 22 5c 0a | 4e 61 6d 65 73 20 67 65 |$$_" "\.|Names ge|
|000015a0| 6e 65 72 61 74 65 64 20 | 62 79 20 67 65 6e 73 79 |nerated |by gensy|
|000015b0| 6d 20 62 65 67 69 6e 20 | 77 69 74 68 20 74 68 69 |m begin |with thi|
|000015c0| 73 20 73 74 72 69 6e 67 | 20 62 79 20 64 65 66 61 |s string| by defa|
|000015d0| 75 6c 74 2e 22 29 0a 0a | 28 64 65 66 75 6e 20 67 |ult.")..|(defun g|
|000015e0| 65 6e 73 79 6d 20 28 26 | 6f 70 74 69 6f 6e 61 6c |ensym (&|optional|
|000015f0| 20 70 72 65 66 69 78 29 | 20 22 5c 0a 47 65 6e 65 | prefix)| "\.Gene|
|00001600| 72 61 74 65 20 61 20 66 | 72 65 73 68 20 75 6e 69 |rate a f|resh uni|
|00001610| 6e 74 65 72 6e 65 64 20 | 73 79 6d 62 6f 6c 2e 0a |nterned |symbol..|
|00001620| 54 68 65 72 65 20 69 73 | 20 61 6e 20 20 6f 70 74 |There is| an opt|
|00001630| 69 6f 6e 61 6c 20 61 72 | 67 75 6d 65 6e 74 2c 20 |ional ar|gument, |
|00001640| 50 52 45 46 49 58 2e 20 | 20 50 52 45 46 49 58 20 |PREFIX. | PREFIX |
|00001650| 69 73 20 74 68 65 0a 73 | 74 72 69 6e 67 20 74 68 |is the.s|tring th|
|00001660| 61 74 20 62 65 67 69 6e | 73 20 74 68 65 20 6e 65 |at begin|s the ne|
|00001670| 77 20 6e 61 6d 65 2e 20 | 4d 6f 73 74 20 70 65 6f |w name. |Most peo|
|00001680| 70 6c 65 20 74 61 6b 65 | 20 6a 75 73 74 20 74 68 |ple take| just th|
|00001690| 65 20 64 65 66 61 75 6c | 74 2c 0a 65 78 63 65 70 |e defaul|t,.excep|
|000016a0| 74 20 77 68 65 6e 20 64 | 65 62 75 67 67 69 6e 67 |t when d|ebugging|
|000016b0| 20 6e 65 65 64 73 20 73 | 75 67 67 65 73 74 20 6f | needs s|uggest o|
|000016c0| 74 68 65 72 77 69 73 65 | 2e 22 20 28 62 79 74 65 |therwise|." (byte|
|000016d0| 2d 63 6f 64 65 20 22 08 | 3f 85 08 00 09 89 10 88 |-code ".|?.......|
|000016e0| c3 c6 1c 1a 0a 3f 85 2e | 00 08 0d 50 89 14 88 0d |.....?..|...P....|
|000016f0| c7 5c 5c 89 15 88 c8 0c | 21 3f 85 2a 00 c9 0c 21 |.\\.....|!?.*...!|
|00001700| 89 12 88 82 0d 00 88 0a | 2a 87 22 20 5b 70 72 65 |........|*." [pre|
|00001710| 66 69 78 20 2a 67 65 6e | 73 79 6d 2d 70 72 65 66 |fix *gen|sym-pref|
|00001720| 69 78 2a 20 6e 65 77 73 | 79 6d 62 6f 6c 20 6e 69 |ix* news|ymbol ni|
|00001730| 6c 20 6e 65 77 6e 61 6d | 65 20 2a 67 65 6e 73 79 |l newnam|e *gensy|
|00001740| 6d 2d 69 6e 64 65 78 2a | 20 22 22 20 31 20 69 6e |m-index*| "" 1 in|
|00001750| 74 65 72 6e 2d 73 6f 66 | 74 20 6d 61 6b 65 2d 73 |tern-sof|t make-s|
|00001760| 79 6d 62 6f 6c 5d 20 35 | 29 29 0a 0a 28 70 75 74 |ymbol] 5|))..(put|
|00001770| 20 28 71 75 6f 74 65 20 | 63 61 73 65 29 20 28 71 | (quote |case) (q|
|00001780| 75 6f 74 65 20 6c 69 73 | 70 2d 69 6e 64 65 6e 74 |uote lis|p-indent|
|00001790| 2d 68 6f 6f 6b 29 20 31 | 29 0a 0a 28 70 75 74 20 |-hook) 1|)..(put |
|000017a0| 28 71 75 6f 74 65 20 65 | 63 61 73 65 29 20 28 71 |(quote e|case) (q|
|000017b0| 75 6f 74 65 20 6c 69 73 | 70 2d 69 6e 64 65 6e 74 |uote lis|p-indent|
|000017c0| 2d 68 6f 6f 6b 29 20 31 | 29 0a 0a 28 70 75 74 20 |-hook) 1|)..(put |
|000017d0| 28 71 75 6f 74 65 20 77 | 68 65 6e 29 20 28 71 75 |(quote w|hen) (qu|
|000017e0| 6f 74 65 20 6c 69 73 70 | 2d 69 6e 64 65 6e 74 2d |ote lisp|-indent-|
|000017f0| 68 6f 6f 6b 29 20 31 29 | 0a 0a 28 70 75 74 20 28 |hook) 1)|..(put (|
|00001800| 71 75 6f 74 65 20 75 6e | 6c 65 73 73 29 20 28 71 |quote un|less) (q|
|00001810| 75 6f 74 65 20 6c 69 73 | 70 2d 69 6e 64 65 6e 74 |uote lis|p-indent|
|00001820| 2d 68 6f 6f 6b 29 20 31 | 29 0a 0a 28 64 65 66 6d |-hook) 1|)..(defm|
|00001830| 61 63 72 6f 20 77 68 65 | 6e 20 28 63 6f 6e 64 69 |acro whe|n (condi|
|00001840| 74 69 6f 6e 20 26 72 65 | 73 74 20 62 6f 64 79 29 |tion &re|st body)|
|00001850| 20 22 28 77 68 65 6e 20 | 43 4f 4e 44 49 54 49 4f | "(when |CONDITIO|
|00001860| 4e 20 2e 20 42 4f 44 59 | 29 20 3d 3e 20 65 76 61 |N . BODY|) => eva|
|00001870| 6c 75 61 74 65 20 42 4f | 44 59 20 69 66 20 43 4f |luate BO|DY if CO|
|00001880| 4e 44 49 54 49 4f 4e 20 | 69 73 20 74 72 75 65 2e |NDITION |is true.|
|00001890| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c2 c3 |" (byte-|code "..|
|000018a0| c4 08 44 c5 09 24 87 22 | 20 5b 63 6f 6e 64 69 74 |..D..$."| [condit|
|000018b0| 69 6f 6e 20 62 6f 64 79 | 20 6c 69 73 74 2a 20 69 |ion body| list* i|
|000018c0| 66 20 6e 6f 74 20 6e 69 | 6c 5d 20 35 29 29 0a 0a |f not ni|l] 5))..|
|000018d0| 28 64 65 66 6d 61 63 72 | 6f 20 75 6e 6c 65 73 73 |(defmacr|o unless|
|000018e0| 20 28 63 6f 6e 64 69 74 | 69 6f 6e 20 26 72 65 73 | (condit|ion &res|
|000018f0| 74 20 62 6f 64 79 29 20 | 22 28 75 6e 6c 65 73 73 |t body) |"(unless|
|00001900| 20 43 4f 4e 44 49 54 49 | 4f 4e 20 2e 20 42 4f 44 | CONDITI|ON . BOD|
|00001910| 59 29 20 3d 3e 20 65 76 | 61 6c 75 61 74 65 20 42 |Y) => ev|aluate B|
|00001920| 4f 44 59 20 69 66 20 43 | 4f 4e 44 49 54 49 4f 4e |ODY if C|ONDITION|
|00001930| 20 69 73 20 66 61 6c 73 | 65 2e 22 20 28 62 79 74 | is fals|e." (byt|
|00001940| 65 2d 63 6f 64 65 20 22 | c2 c3 08 c4 09 24 87 22 |e-code "|.....$."|
|00001950| 20 5b 63 6f 6e 64 69 74 | 69 6f 6e 20 62 6f 64 79 | [condit|ion body|
|00001960| 20 6c 69 73 74 2a 20 69 | 66 20 6e 69 6c 5d 20 35 | list* i|f nil] 5|
|00001970| 29 29 0a 0a 28 64 65 66 | 6d 61 63 72 6f 20 63 61 |))..(def|macro ca|
|00001980| 73 65 20 28 65 78 70 72 | 20 26 72 65 73 74 20 63 |se (expr| &rest c|
|00001990| 61 73 65 73 29 20 22 28 | 63 61 73 65 20 45 58 50 |ases) "(|case EXP|
|000019a0| 52 20 2e 20 43 41 53 45 | 53 29 20 3d 3e 20 65 76 |R . CASE|S) => ev|
|000019b0| 61 6c 73 20 45 58 50 52 | 2c 20 63 68 6f 6f 73 65 |als EXPR|, choose|
|000019c0| 73 20 66 72 6f 6d 20 43 | 41 53 45 53 20 6f 6e 20 |s from C|ASES on |
|000019d0| 74 68 61 74 20 76 61 6c | 75 65 2e 0a 45 58 50 52 |that val|ue..EXPR|
|000019e0| 20 20 20 2d 3e 20 61 6e | 79 20 66 6f 72 6d 0a 43 | -> an|y form.C|
|000019f0| 41 53 45 53 20 20 2d 3e | 20 6c 69 73 74 20 6f 66 |ASES ->| list of|
|00001a00| 20 63 6c 61 75 73 65 73 | 2c 20 6e 6f 6e 20 65 6d | clauses|, non em|
|00001a10| 70 74 79 0a 43 4c 41 55 | 53 45 20 2d 3e 20 48 45 |pty.CLAU|SE -> HE|
|00001a20| 41 44 20 2e 20 42 4f 44 | 59 0a 48 45 41 44 20 20 |AD . BOD|Y.HEAD |
|00001a30| 20 2d 3e 20 74 20 20 20 | 20 20 20 20 20 20 20 20 | -> t | |
|00001a40| 20 20 3d 20 63 61 74 63 | 68 20 61 6c 6c 2c 20 6d | = catc|h all, m|
|00001a50| 75 73 74 20 62 65 20 6c | 61 73 74 20 63 6c 61 75 |ust be l|ast clau|
|00001a60| 73 65 0a 20 20 20 20 20 | 20 20 2d 3e 20 6f 74 68 |se. | -> oth|
|00001a70| 65 72 77 69 73 65 20 20 | 20 20 20 3d 20 73 61 6d |erwise | = sam|
|00001a80| 65 20 61 73 20 74 0a 20 | 20 20 20 20 20 20 2d 3e |e as t. | ->|
|00001a90| 20 6e 69 6c 20 20 20 20 | 20 20 20 20 20 20 20 3d | nil | =|
|00001aa0| 20 69 6c 6c 65 67 61 6c | 0a 20 20 20 20 20 20 20 | illegal|. |
|00001ab0| 2d 3e 20 61 74 6f 6d 20 | 20 20 20 20 20 20 20 20 |-> atom | |
|00001ac0| 20 3d 20 61 63 74 69 76 | 61 74 65 64 20 69 66 20 | = activ|ated if |
|00001ad0| 28 65 71 6c 20 20 45 58 | 50 52 20 48 45 41 44 29 |(eql EX|PR HEAD)|
|00001ae0| 0a 20 20 20 20 20 20 20 | 2d 3e 20 6c 69 73 74 20 |. |-> list |
|00001af0| 6f 66 20 61 74 6f 6d 73 | 20 3d 20 61 63 74 69 76 |of atoms| = activ|
|00001b00| 61 74 65 64 20 69 66 20 | 28 6d 65 6d 62 65 72 20 |ated if |(member |
|00001b10| 45 58 50 52 20 48 45 41 | 44 29 0a 42 4f 44 59 20 |EXPR HEA|D).BODY |
|00001b20| 20 20 2d 3e 20 6c 69 73 | 74 20 6f 66 20 66 6f 72 | -> lis|t of for|
|00001b30| 6d 73 2c 20 69 6d 70 6c | 69 63 69 74 20 50 52 4f |ms, impl|icit PRO|
|00001b40| 47 4e 20 69 73 20 62 75 | 69 6c 74 20 61 72 6f 75 |GN is bu|ilt arou|
|00001b50| 6e 64 20 69 74 2e 0a 45 | 58 50 52 20 69 73 20 65 |nd it..E|XPR is e|
|00001b60| 76 61 6c 75 61 74 65 64 | 20 6f 6e 6c 79 20 6f 6e |valuated| only on|
|00001b70| 63 65 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |ce." (by|te-code |
|00001b80| 22 c4 20 18 c5 0a 08 5c | 22 19 c6 08 0b 44 43 c7 |". ....\|"....DC.|
|00001b90| c8 c9 09 21 5c 22 45 2a | 87 22 20 5b 6e 65 77 73 |...!\"E*|." [news|
|00001ba0| 79 6d 20 63 6c 61 75 73 | 65 73 20 63 61 73 65 73 |ym claus|es cases|
|00001bb0| 20 65 78 70 72 20 67 65 | 6e 74 65 6d 70 20 63 61 | expr ge|ntemp ca|
|00001bc0| 73 65 2d 63 6c 61 75 73 | 69 66 79 20 6c 65 74 20 |se-claus|ify let |
|00001bd0| 6c 69 73 74 2a 20 63 6f | 6e 64 20 6e 72 65 76 65 |list* co|nd nreve|
|00001be0| 72 73 65 5d 20 38 29 29 | 0a 0a 28 64 65 66 6d 61 |rse] 8))|..(defma|
|00001bf0| 63 72 6f 20 65 63 61 73 | 65 20 28 65 78 70 72 20 |cro ecas|e (expr |
|00001c00| 26 72 65 73 74 20 63 61 | 73 65 73 29 20 22 28 65 |&rest ca|ses) "(e|
|00001c10| 63 61 73 65 20 45 58 50 | 52 20 2e 20 43 41 53 45 |case EXP|R . CASE|
|00001c20| 53 29 20 3d 3e 20 6c 69 | 6b 65 20 60 63 61 73 65 |S) => li|ke `case|
|00001c30| 27 2c 20 62 75 74 20 65 | 72 72 6f 72 20 69 66 20 |', but e|rror if |
|00001c40| 6e 6f 20 63 61 73 65 20 | 66 69 74 73 2e 0a 60 74 |no case |fits..`t|
|00001c50| 27 2d 63 6c 61 75 73 65 | 73 20 61 72 65 20 6e 6f |'-clause|s are no|
|00001c60| 74 20 61 6c 6c 6f 77 65 | 64 2e 22 20 28 62 79 74 |t allowe|d." (byt|
|00001c70| 65 2d 63 6f 64 65 20 22 | c5 20 18 c6 0a 08 5c 22 |e-code "|. ....\"|
|00001c80| 19 c7 09 21 c3 3d 85 13 | 00 c8 c9 21 88 c3 c8 ca |...!.=..|...!....|
|00001c90| cb 0c 44 cc 08 44 46 44 | 09 42 89 11 88 cd 08 0c |..D..DFD|.B......|
|00001ca0| 44 43 ce cf d0 09 21 5c | 22 45 2a 87 22 20 5b 6e |DC....!\|"E*." [n|
|00001cb0| 65 77 73 79 6d 20 63 6c | 61 75 73 65 73 20 63 61 |ewsym cl|auses ca|
|00001cc0| 73 65 73 20 74 20 65 78 | 70 72 20 67 65 6e 74 65 |ses t ex|pr gente|
|00001cd0| 6d 70 20 63 61 73 65 2d | 63 6c 61 75 73 69 66 79 |mp case-|clausify|
|00001ce0| 20 63 61 61 72 20 65 72 | 72 6f 72 20 22 4e 6f 20 | caar er|ror "No |
|00001cf0| 63 6c 61 75 73 65 2d 68 | 65 61 64 20 73 68 6f 75 |clause-h|ead shou|
|00001d00| 6c 64 20 62 65 20 60 74 | 27 20 6f 72 20 60 6f 74 |ld be `t|' or `ot|
|00001d10| 68 65 72 77 69 73 65 27 | 20 66 6f 72 20 60 65 63 |herwise'| for `ec|
|00001d20| 61 73 65 27 22 20 22 65 | 63 61 73 65 20 6f 6e 20 |ase'" "e|case on |
|00001d30| 25 73 20 3d 20 25 73 20 | 66 61 69 6c 65 64 20 74 |%s = %s |failed t|
|00001d40| 6f 20 74 61 6b 65 20 61 | 6e 79 20 62 72 61 6e 63 |o take a|ny branc|
|00001d50| 68 2e 22 20 71 75 6f 74 | 65 20 70 72 69 6e 31 2d |h." quot|e prin1-|
|00001d60| 74 6f 2d 73 74 72 69 6e | 67 20 6c 65 74 20 6c 69 |to-strin|g let li|
|00001d70| 73 74 2a 20 63 6f 6e 64 | 20 6e 72 65 76 65 72 73 |st* cond| nrevers|
|00001d80| 65 5d 20 31 30 29 29 0a | 0a 28 64 65 66 75 6e 20 |e] 10)).|.(defun |
|00001d90| 63 61 73 65 2d 63 6c 61 | 75 73 69 66 79 20 28 63 |case-cla|usify (c|
|00001da0| 61 73 65 73 20 6e 65 77 | 73 79 6d 29 20 22 5c 0a |ases new|sym) "\.|
|00001db0| 43 41 53 45 2d 43 4c 41 | 55 53 49 46 59 20 43 41 |CASE-CLA|USIFY CA|
|00001dc0| 53 45 53 20 4e 45 57 53 | 59 4d 20 3d 3e 20 63 6c |SES NEWS|YM => cl|
|00001dd0| 61 75 73 65 73 20 66 6f | 72 20 61 20 27 63 6f 6e |auses fo|r a 'con|
|00001de0| 64 27 0a 43 6f 6e 76 65 | 72 74 73 20 74 68 65 20 |d'.Conve|rts the |
|00001df0| 43 41 53 45 53 20 6f 66 | 20 61 20 5b 65 5d 63 61 |CASES of| a [e]ca|
|00001e00| 73 65 20 6d 61 63 72 6f | 20 69 6e 74 6f 20 63 6f |se macro| into co|
|00001e10| 6e 64 20 63 6c 61 75 73 | 65 73 20 74 6f 20 62 65 |nd claus|es to be|
|00001e20| 0a 65 76 61 6c 75 61 74 | 65 64 20 69 6e 73 69 64 |.evaluat|ed insid|
|00001e30| 65 20 61 20 6c 65 74 20 | 74 68 61 74 20 62 69 6e |e a let |that bin|
|00001e40| 64 73 20 4e 45 57 53 59 | 4d 2e 20 20 52 65 74 75 |ds NEWSY|M. Retu|
|00001e50| 72 6e 73 20 74 68 65 20 | 63 6c 61 75 73 65 73 20 |rns the |clauses |
|00001e60| 69 6e 0a 72 65 76 65 72 | 73 65 20 6f 72 64 65 72 |in.rever|se order|
|00001e70| 2e 22 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 09 |." (byte|-code ".|
|00001e80| 18 09 41 1a 09 40 1b c9 | 1c ca 08 21 3f 85 8b 00 |..A..@..|...!?...|
|00001e90| 0b 40 0b 41 1e 06 1d 0d | 3f 83 26 00 cb cc cd 0b |.@.A....|?.&.....|
|00001ea0| 21 5c 22 82 7b 00 0d c8 | 3d 86 2f 00 0d ce 3d 83 |!\".{...|=./...=.|
|00001eb0| 48 00 ca 0a 21 3f 85 3c | 00 cb cf 21 88 c8 0e 06 |H...!?.<|...!....|
|00001ec0| 42 0c 42 89 14 82 7b 00 | d0 0d 21 83 5f 00 d1 0e |B.B...{.|..!._...|
|00001ed0| 07 d2 0d 44 45 0e 06 42 | 0c 42 89 14 82 7b 00 0d |...DE..B|.B...{..|
|00001ee0| 3c 83 75 00 d3 0e 07 d2 | 0d 44 45 0e 06 42 0c 42 |<.u.....|.DE..B.B|
|00001ef0| 89 14 82 7b 00 cb d4 cd | 0d 21 5c 22 2a 88 08 41 |...{....|.!\"*..A|
|00001f00| 10 0a 41 12 08 40 89 13 | 88 82 0a 00 88 0c 2c 87 |..A..@..|......,.|
|00001f10| 22 20 5b 63 75 72 72 65 | 6e 74 70 6f 73 20 63 61 |" [curre|ntpos ca|
|00001f20| 73 65 73 20 6e 65 78 74 | 70 6f 73 20 63 75 72 63 |ses next|pos curc|
|00001f30| 6c 61 75 73 65 20 72 65 | 73 75 6c 74 20 68 65 61 |lause re|sult hea|
|00001f40| 64 20 62 6f 64 79 20 6e | 65 77 73 79 6d 20 74 20 |d body n|ewsym t |
|00001f50| 6e 69 6c 20 65 6e 64 70 | 20 65 72 72 6f 72 20 22 |nil endp| error "|
|00001f60| 43 61 73 65 20 63 6c 61 | 75 73 65 73 20 63 61 6e |Case cla|uses can|
|00001f70| 6e 6f 74 20 68 61 76 65 | 20 6e 75 6c 6c 20 68 65 |not have| null he|
|00001f80| 61 64 73 3a 20 60 25 73 | 27 22 20 70 72 69 6e 31 |ads: `%s|'" prin1|
|00001f90| 2d 74 6f 2d 73 74 72 69 | 6e 67 20 6f 74 68 65 72 |-to-stri|ng other|
|00001fa0| 77 69 73 65 20 22 43 6c | 61 75 73 65 20 77 69 74 |wise "Cl|ause wit|
|00001fb0| 68 20 60 74 27 20 6f 72 | 20 60 6f 74 68 65 72 77 |h `t' or| `otherw|
|00001fc0| 69 73 65 27 20 68 65 61 | 64 20 6d 75 73 74 20 62 |ise' hea|d must b|
|00001fd0| 65 20 6c 61 73 74 22 20 | 61 74 6f 6d 20 65 71 6c |e last" |atom eql|
|00001fe0| 20 71 75 6f 74 65 20 6d | 65 6d 62 65 72 20 22 44 | quote m|ember "D|
|00001ff0| 6f 6e 27 74 20 6b 6e 6f | 77 20 68 6f 77 20 74 6f |on't kno|w how to|
|00002000| 20 70 61 72 73 65 20 63 | 61 73 65 20 63 6c 61 75 | parse c|ase clau|
|00002010| 73 65 20 60 25 73 27 2e | 22 5d 20 31 31 29 29 0a |se `%s'.|"] 11)).|
|00002020| 0a 28 70 75 74 20 28 71 | 75 6f 74 65 20 64 6f 29 |.(put (q|uote do)|
|00002030| 20 28 71 75 6f 74 65 20 | 6c 69 73 70 2d 69 6e 64 | (quote |lisp-ind|
|00002040| 65 6e 74 2d 68 6f 6f 6b | 29 20 32 29 0a 0a 28 70 |ent-hook|) 2)..(p|
|00002050| 75 74 20 28 71 75 6f 74 | 65 20 64 6f 2a 29 20 28 |ut (quot|e do*) (|
|00002060| 71 75 6f 74 65 20 6c 69 | 73 70 2d 69 6e 64 65 6e |quote li|sp-inden|
|00002070| 74 2d 68 6f 6f 6b 29 20 | 32 29 0a 0a 28 70 75 74 |t-hook) |2)..(put|
|00002080| 20 28 71 75 6f 74 65 20 | 64 6f 6c 69 73 74 29 20 | (quote |dolist) |
|00002090| 28 71 75 6f 74 65 20 6c | 69 73 70 2d 69 6e 64 65 |(quote l|isp-inde|
|000020a0| 6e 74 2d 68 6f 6f 6b 29 | 20 31 29 0a 0a 28 70 75 |nt-hook)| 1)..(pu|
|000020b0| 74 20 28 71 75 6f 74 65 | 20 64 6f 74 69 6d 65 73 |t (quote| dotimes|
|000020c0| 29 20 28 71 75 6f 74 65 | 20 6c 69 73 70 2d 69 6e |) (quote| lisp-in|
|000020d0| 64 65 6e 74 2d 68 6f 6f | 6b 29 20 31 29 0a 0a 28 |dent-hoo|k) 1)..(|
|000020e0| 70 75 74 20 28 71 75 6f | 74 65 20 64 6f 2d 73 79 |put (quo|te do-sy|
|000020f0| 6d 62 6f 6c 73 29 20 28 | 71 75 6f 74 65 20 6c 69 |mbols) (|quote li|
|00002100| 73 70 2d 69 6e 64 65 6e | 74 2d 68 6f 6f 6b 29 20 |sp-inden|t-hook) |
|00002110| 31 29 0a 0a 28 70 75 74 | 20 28 71 75 6f 74 65 20 |1)..(put| (quote |
|00002120| 64 6f 2d 61 6c 6c 2d 73 | 79 6d 62 6f 6c 73 29 20 |do-all-s|ymbols) |
|00002130| 28 71 75 6f 74 65 20 6c | 69 73 70 2d 69 6e 64 65 |(quote l|isp-inde|
|00002140| 6e 74 2d 68 6f 6f 6b 29 | 20 31 29 0a 0a 28 64 65 |nt-hook)| 1)..(de|
|00002150| 66 6d 61 63 72 6f 20 64 | 6f 20 28 73 74 65 70 66 |fmacro d|o (stepf|
|00002160| 6f 72 6d 73 20 65 6e 64 | 66 6f 72 6d 73 20 26 72 |orms end|forms &r|
|00002170| 65 73 74 20 62 6f 64 79 | 29 20 22 28 64 6f 20 53 |est body|) "(do S|
|00002180| 54 45 50 46 4f 52 4d 53 | 20 45 4e 44 46 4f 52 4d |TEPFORMS| ENDFORM|
|00002190| 53 20 2e 20 42 4f 44 59 | 29 3a 20 49 74 65 72 61 |S . BODY|): Itera|
|000021a0| 74 65 20 42 4f 44 59 2c | 20 73 74 65 70 70 69 6e |te BODY,| steppin|
|000021b0| 67 20 73 6f 6d 65 20 6c | 6f 63 61 6c 20 76 61 72 |g some l|ocal var|
|000021c0| 69 61 62 6c 65 73 2e 0a | 53 54 45 50 46 4f 52 4d |iables..|STEPFORM|
|000021d0| 53 20 6d 75 73 74 20 62 | 65 20 61 20 6c 69 73 74 |S must b|e a list|
|000021e0| 20 6f 66 20 73 79 6d 62 | 6f 6c 73 20 6f 72 20 6c | of symb|ols or l|
|000021f0| 69 73 74 73 2e 20 20 49 | 6e 20 74 68 65 20 73 65 |ists. I|n the se|
|00002200| 63 6f 6e 64 20 63 61 73 | 65 2c 20 74 68 65 0a 6c |cond cas|e, the.l|
|00002210| 69 73 74 73 20 6d 75 73 | 74 20 73 74 61 72 74 20 |ists mus|t start |
|00002220| 77 69 74 68 20 61 20 73 | 79 6d 62 6f 6c 20 61 6e |with a s|ymbol an|
|00002230| 64 20 63 6f 6e 74 61 69 | 6e 20 75 70 20 74 6f 20 |d contai|n up to |
|00002240| 74 77 6f 20 6d 6f 72 65 | 20 66 6f 72 6d 73 2e 20 |two more| forms. |
|00002250| 49 6e 0a 74 68 65 20 53 | 54 45 50 46 4f 52 4d 53 |In.the S|TEPFORMS|
|00002260| 2c 20 61 20 73 79 6d 62 | 6f 6c 20 69 73 20 74 68 |, a symb|ol is th|
|00002270| 65 20 73 61 6d 65 20 61 | 73 20 61 20 28 73 79 6d |e same a|s a (sym|
|00002280| 62 6f 6c 29 2e 20 20 54 | 68 65 20 6f 74 68 65 72 |bol). T|he other|
|00002290| 20 32 20 66 6f 72 6d 73 | 0a 61 72 65 20 74 68 65 | 2 forms|.are the|
|000022a0| 20 69 6e 69 74 69 61 6c | 20 76 61 6c 75 65 20 28 | initial| value (|
|000022b0| 64 65 66 2e 20 4e 49 4c | 29 20 61 6e 64 20 74 68 |def. NIL|) and th|
|000022c0| 65 20 66 6f 72 6d 20 74 | 6f 20 73 74 65 70 20 28 |e form t|o step (|
|000022d0| 64 65 66 2e 20 69 74 73 | 65 6c 66 29 2e 0a 54 68 |def. its|elf)..Th|
|000022e0| 65 20 76 61 6c 75 65 73 | 20 75 73 65 64 20 62 79 |e values| used by|
|000022f0| 20 69 6e 69 74 69 61 6c | 69 7a 61 74 69 6f 6e 20 | initial|ization |
|00002300| 61 6e 64 20 73 74 65 70 | 70 69 6e 67 20 61 72 65 |and step|ping are|
|00002310| 20 63 6f 6d 70 75 74 65 | 64 20 69 6e 20 70 61 72 | compute|d in par|
|00002320| 61 6c 6c 65 6c 2e 0a 54 | 68 65 20 45 4e 44 46 4f |allel..T|he ENDFO|
|00002330| 52 4d 53 20 61 72 65 20 | 61 20 6c 69 73 74 20 28 |RMS are |a list (|
|00002340| 43 4f 4e 44 49 54 49 4f | 4e 20 2e 20 45 4e 44 42 |CONDITIO|N . ENDB|
|00002350| 4f 44 59 29 2e 20 20 49 | 66 20 74 68 65 20 43 4f |ODY). I|f the CO|
|00002360| 4e 44 49 54 49 4f 4e 0a | 65 76 61 6c 75 61 74 65 |NDITION.|evaluate|
|00002370| 73 20 74 6f 20 74 72 75 | 65 20 69 6e 20 61 6e 79 |s to tru|e in any|
|00002380| 20 69 74 65 72 61 74 69 | 6f 6e 2c 20 45 4e 44 42 | iterati|on, ENDB|
|00002390| 4f 44 59 20 69 73 20 65 | 76 61 6c 75 61 74 65 64 |ODY is e|valuated|
|000023a0| 20 61 6e 64 20 74 68 65 | 20 6c 61 73 74 0a 66 6f | and the| last.fo|
|000023b0| 72 6d 20 69 6e 20 69 74 | 20 69 73 20 72 65 74 75 |rm in it| is retu|
|000023c0| 72 6e 65 64 2e 0a 54 68 | 65 20 42 4f 44 59 20 28 |rned..Th|e BODY (|
|000023d0| 77 68 69 63 68 20 6d 61 | 79 20 62 65 20 65 6d 70 |which ma|y be emp|
|000023e0| 74 79 29 20 69 73 20 65 | 76 61 6c 75 61 74 65 64 |ty) is e|valuated|
|000023f0| 20 61 74 20 65 76 65 72 | 79 20 69 74 65 72 61 74 | at ever|y iterat|
|00002400| 69 6f 6e 2c 20 77 69 74 | 68 0a 74 68 65 20 73 79 |ion, wit|h.the sy|
|00002410| 6d 62 6f 6c 73 20 6f 66 | 20 74 68 65 20 53 54 45 |mbols of| the STE|
|00002420| 50 46 4f 52 4d 53 20 62 | 6f 75 6e 64 20 74 6f 20 |PFORMS b|ound to |
|00002430| 74 68 65 20 69 6e 69 74 | 69 61 6c 20 6f 72 20 73 |the init|ial or s|
|00002440| 74 65 70 70 65 64 20 76 | 61 6c 75 65 73 2e 22 20 |tepped v|alues." |
|00002450| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c7 08 21 85 |(byte-co|de "..!.|
|00002460| 09 00 c8 09 21 88 c9 08 | 21 ca 08 21 09 40 09 41 |....!...|!..!.@.A|
|00002470| 1d 1c 1b 1a cb 0a cc cd | 0c 44 ce 0e 06 0b 5c 22 |........|.D....\"|
|00002480| 42 42 ce 0d 21 42 42 42 | 2c 87 22 20 5b 73 74 65 |BB..!BBB|,." [ste|
|00002490| 70 66 6f 72 6d 73 20 65 | 6e 64 66 6f 72 6d 73 20 |pforms e|ndforms |
|000024a0| 69 6e 69 74 6c 69 73 74 | 20 73 74 65 70 6c 69 73 |initlist| steplis|
|000024b0| 74 20 65 6e 64 63 6f 6e | 64 20 65 6e 64 62 6f 64 |t endcon|d endbod|
|000024c0| 79 20 62 6f 64 79 20 63 | 68 65 63 6b 2d 64 6f 2d |y body c|heck-do-|
|000024d0| 73 74 65 70 66 6f 72 6d | 73 20 63 68 65 63 6b 2d |stepform|s check-|
|000024e0| 64 6f 2d 65 6e 64 66 6f | 72 6d 73 20 65 78 74 72 |do-endfo|rms extr|
|000024f0| 61 63 74 2d 64 6f 2d 69 | 6e 69 74 73 20 65 78 74 |act-do-i|nits ext|
|00002500| 72 61 63 74 2d 64 6f 2d | 73 74 65 70 73 20 6c 65 |ract-do-|steps le|
|00002510| 74 20 77 68 69 6c 65 20 | 6e 6f 74 20 61 70 70 65 |t while |not appe|
|00002520| 6e 64 5d 20 31 31 29 29 | 0a 0a 28 64 65 66 6d 61 |nd] 11))|..(defma|
|00002530| 63 72 6f 20 64 6f 2a 20 | 28 73 74 65 70 66 6f 72 |cro do* |(stepfor|
|00002540| 6d 73 20 65 6e 64 66 6f | 72 6d 73 20 26 72 65 73 |ms endfo|rms &res|
|00002550| 74 20 62 6f 64 79 29 20 | 22 60 64 6f 2a 27 20 69 |t body) |"`do*' i|
|00002560| 73 20 74 6f 20 60 64 6f | 27 20 61 73 20 60 6c 65 |s to `do|' as `le|
|00002570| 74 2a 27 20 69 73 20 74 | 6f 20 60 6c 65 74 27 2e |t*' is t|o `let'.|
|00002580| 0a 53 54 45 50 46 4f 52 | 4d 53 20 6d 75 73 74 20 |.STEPFOR|MS must |
|00002590| 62 65 20 61 20 6c 69 73 | 74 20 6f 66 20 73 79 6d |be a lis|t of sym|
|000025a0| 62 6f 6c 73 20 6f 72 20 | 6c 69 73 74 73 2e 20 20 |bols or |lists. |
|000025b0| 49 6e 20 74 68 65 20 73 | 65 63 6f 6e 64 20 63 61 |In the s|econd ca|
|000025c0| 73 65 2c 20 74 68 65 0a | 6c 69 73 74 73 20 6d 75 |se, the.|lists mu|
|000025d0| 73 74 20 73 74 61 72 74 | 20 77 69 74 68 20 61 20 |st start| with a |
|000025e0| 73 79 6d 62 6f 6c 20 61 | 6e 64 20 63 6f 6e 74 61 |symbol a|nd conta|
|000025f0| 69 6e 20 75 70 20 74 6f | 20 74 77 6f 20 6d 6f 72 |in up to| two mor|
|00002600| 65 20 66 6f 72 6d 73 2e | 20 49 6e 0a 74 68 65 20 |e forms.| In.the |
|00002610| 53 54 45 50 46 4f 52 4d | 53 2c 20 61 20 73 79 6d |STEPFORM|S, a sym|
|00002620| 62 6f 6c 20 69 73 20 74 | 68 65 20 73 61 6d 65 20 |bol is t|he same |
|00002630| 61 73 20 61 20 28 73 79 | 6d 62 6f 6c 29 2e 20 20 |as a (sy|mbol). |
|00002640| 54 68 65 20 6f 74 68 65 | 72 20 32 20 66 6f 72 6d |The othe|r 2 form|
|00002650| 73 0a 61 72 65 20 74 68 | 65 20 69 6e 69 74 69 61 |s.are th|e initia|
|00002660| 6c 20 76 61 6c 75 65 20 | 28 64 65 66 2e 20 4e 49 |l value |(def. NI|
|00002670| 4c 29 20 61 6e 64 20 74 | 68 65 20 66 6f 72 6d 20 |L) and t|he form |
|00002680| 74 6f 20 73 74 65 70 20 | 28 64 65 66 2e 20 69 74 |to step |(def. it|
|00002690| 73 65 6c 66 29 2e 0a 49 | 6e 69 74 69 61 6c 69 7a |self)..I|nitializ|
|000026a0| 61 74 69 6f 6e 73 20 61 | 6e 64 20 73 74 65 70 70 |ations a|nd stepp|
|000026b0| 69 6e 67 73 20 61 72 65 | 20 64 6f 6e 65 20 69 6e |ings are| done in|
|000026c0| 20 74 68 65 20 73 65 71 | 75 65 6e 63 65 20 74 68 | the seq|uence th|
|000026d0| 65 79 20 61 72 65 20 77 | 72 69 74 74 65 6e 2e 0a |ey are w|ritten..|
|000026e0| 54 68 65 20 45 4e 44 46 | 4f 52 4d 53 20 61 72 65 |The ENDF|ORMS are|
|000026f0| 20 61 20 6c 69 73 74 20 | 28 43 4f 4e 44 49 54 49 | a list |(CONDITI|
|00002700| 4f 4e 20 2e 20 45 4e 44 | 42 4f 44 59 29 2e 20 20 |ON . END|BODY). |
|00002710| 49 66 20 74 68 65 20 43 | 4f 4e 44 49 54 49 4f 4e |If the C|ONDITION|
|00002720| 0a 65 76 61 6c 75 61 74 | 65 73 20 74 6f 20 74 72 |.evaluat|es to tr|
|00002730| 75 65 20 69 6e 20 61 6e | 79 20 69 74 65 72 61 74 |ue in an|y iterat|
|00002740| 69 6f 6e 2c 20 45 4e 44 | 42 4f 44 59 20 69 73 20 |ion, END|BODY is |
|00002750| 65 76 61 6c 75 61 74 65 | 64 20 61 6e 64 20 74 68 |evaluate|d and th|
|00002760| 65 20 6c 61 73 74 0a 66 | 6f 72 6d 20 69 6e 20 69 |e last.f|orm in i|
|00002770| 74 20 69 73 20 72 65 74 | 75 72 6e 65 64 2e 0a 54 |t is ret|urned..T|
|00002780| 68 65 20 42 4f 44 59 20 | 28 77 68 69 63 68 20 6d |he BODY |(which m|
|00002790| 61 79 20 62 65 20 65 6d | 70 74 79 29 20 69 73 20 |ay be em|pty) is |
|000027a0| 65 76 61 6c 75 61 74 65 | 64 20 61 74 20 65 76 65 |evaluate|d at eve|
|000027b0| 72 79 20 69 74 65 72 61 | 74 69 6f 6e 2c 20 77 69 |ry itera|tion, wi|
|000027c0| 74 68 0a 74 68 65 20 73 | 79 6d 62 6f 6c 73 20 6f |th.the s|ymbols o|
|000027d0| 66 20 74 68 65 20 53 54 | 45 50 46 4f 52 4d 53 20 |f the ST|EPFORMS |
|000027e0| 62 6f 75 6e 64 20 74 6f | 20 74 68 65 20 69 6e 69 |bound to| the ini|
|000027f0| 74 69 61 6c 20 6f 72 20 | 73 74 65 70 70 65 64 20 |tial or |stepped |
|00002800| 76 61 6c 75 65 73 2e 22 | 20 28 62 79 74 65 2d 63 |values."| (byte-c|
|00002810| 6f 64 65 20 22 c7 08 21 | 85 09 00 c8 09 21 88 c9 |ode "..!|.....!..|
|00002820| 08 21 ca 08 21 09 40 09 | 41 1d 1c 1b 1a cb 0a cc |.!..!.@.|A.......|
|00002830| cd 0c 44 ce 0e 06 0b 5c | 22 42 42 ce 0d 21 42 42 |..D....\|"BB..!BB|
|00002840| 42 2c 87 22 20 5b 73 74 | 65 70 66 6f 72 6d 73 20 |B,." [st|epforms |
|00002850| 65 6e 64 66 6f 72 6d 73 | 20 69 6e 69 74 6c 69 73 |endforms| initlis|
|00002860| 74 20 73 74 65 70 6c 69 | 73 74 20 65 6e 64 63 6f |t stepli|st endco|
|00002870| 6e 64 20 65 6e 64 62 6f | 64 79 20 62 6f 64 79 20 |nd endbo|dy body |
|00002880| 63 68 65 63 6b 2d 64 6f | 2d 73 74 65 70 66 6f 72 |check-do|-stepfor|
|00002890| 6d 73 20 63 68 65 63 6b | 2d 64 6f 2d 65 6e 64 66 |ms check|-do-endf|
|000028a0| 6f 72 6d 73 20 65 78 74 | 72 61 63 74 2d 64 6f 2d |orms ext|ract-do-|
|000028b0| 69 6e 69 74 73 20 65 78 | 74 72 61 63 74 2d 64 6f |inits ex|tract-do|
|000028c0| 2a 2d 73 74 65 70 73 20 | 6c 65 74 2a 20 77 68 69 |*-steps |let* whi|
|000028d0| 6c 65 20 6e 6f 74 20 61 | 70 70 65 6e 64 5d 20 31 |le not a|ppend] 1|
|000028e0| 31 29 29 0a 0a 28 64 65 | 66 75 6e 20 63 68 65 63 |1))..(de|fun chec|
|000028f0| 6b 2d 64 6f 2d 73 74 65 | 70 66 6f 72 6d 73 20 28 |k-do-ste|pforms (|
|00002900| 66 6f 72 6d 73 29 20 22 | 5c 0a 54 72 75 65 20 69 |forms) "|\.True i|
|00002910| 66 20 46 4f 52 4d 53 20 | 69 73 20 61 20 76 61 6c |f FORMS |is a val|
|00002920| 69 64 20 73 74 65 70 66 | 6f 72 6d 73 20 66 6f 72 |id stepf|orms for|
|00002930| 20 74 68 65 20 64 6f 5b | 2a 5d 20 6d 61 63 72 6f | the do[|*] macro|
|00002940| 20 28 71 2e 76 2e 29 22 | 20 28 62 79 74 65 2d 63 | (q.v.)"| (byte-c|
|00002950| 6f 64 65 20 22 c2 08 21 | 83 0f 00 c3 c4 c5 08 21 |ode "..!|.......!|
|00002960| 5c 22 82 13 00 c6 c7 08 | 5c 22 87 22 20 5b 66 6f |\"......|\"." [fo|
|00002970| 72 6d 73 20 74 20 6e 6c | 69 73 74 70 20 65 72 72 |rms t nl|istp err|
|00002980| 6f 72 20 22 49 6e 69 74 | 2f 53 74 65 70 20 66 6f |or "Init|/Step fo|
|00002990| 72 6d 20 66 6f 72 20 64 | 6f 5b 2a 5d 20 73 68 6f |rm for d|o[*] sho|
|000029a0| 75 6c 64 20 62 65 20 61 | 20 6c 69 73 74 2c 20 6e |uld be a| list, n|
|000029b0| 6f 74 20 60 25 73 27 22 | 20 70 72 69 6e 31 2d 74 |ot `%s'"| prin1-t|
|000029c0| 6f 2d 73 74 72 69 6e 67 | 20 6d 61 70 63 61 72 20 |o-string| mapcar |
|000029d0| 28 6c 61 6d 62 64 61 20 | 28 65 6e 74 72 79 29 20 |(lambda |(entry) |
|000029e0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 39 86 14 |(byte-co|de ".9..|
|000029f0| 00 08 3c 85 14 00 08 40 | 39 85 14 00 08 47 c2 57 |..<....@|9....G.W|
|00002a00| 83 1b 00 c1 82 21 00 c3 | c4 c5 08 21 5c 22 87 22 |.....!..|...!\"."|
|00002a10| 20 5b 65 6e 74 72 79 20 | 74 20 34 20 65 72 72 6f | [entry |t 4 erro|
|00002a20| 72 20 22 49 6e 69 74 2f | 53 74 65 70 20 6d 75 73 |r "Init/|Step mus|
|00002a30| 74 20 62 65 20 73 79 6d | 62 6f 6c 20 6f 72 20 28 |t be sym|bol or (|
|00002a40| 73 79 6d 62 6f 6c 20 5b | 69 6e 69 74 20 5b 73 74 |symbol [|init [st|
|00002a50| 65 70 5d 5d 29 2c 20 6e | 6f 74 20 60 25 73 27 22 |ep]]), n|ot `%s'"|
|00002a60| 20 70 72 69 6e 31 2d 74 | 6f 2d 73 74 72 69 6e 67 | prin1-t|o-string|
|00002a70| 5d 20 34 29 29 5d 20 36 | 29 29 0a 0a 28 64 65 66 |] 4))] 6|))..(def|
|00002a80| 75 6e 20 63 68 65 63 6b | 2d 64 6f 2d 65 6e 64 66 |un check|-do-endf|
|00002a90| 6f 72 6d 73 20 28 66 6f | 72 6d 73 29 20 22 5c 0a |orms (fo|rms) "\.|
|00002aa0| 54 72 75 65 20 69 66 20 | 46 4f 52 4d 53 20 69 73 |True if |FORMS is|
|00002ab0| 20 61 20 76 61 6c 69 64 | 20 65 6e 64 66 6f 72 6d | a valid| endform|
|00002ac0| 73 20 66 6f 72 20 74 68 | 65 20 64 6f 5b 2a 5d 20 |s for th|e do[*] |
|00002ad0| 6d 61 63 72 6f 20 28 71 | 2e 76 2e 29 22 20 28 62 |macro (q|.v.)" (b|
|00002ae0| 79 74 65 2d 63 6f 64 65 | 20 22 08 3c 83 09 00 c1 |yte-code| ".<....|
|00002af0| 82 0f 00 c2 c3 c4 08 21 | 5c 22 87 22 20 5b 66 6f |.......!|\"." [fo|
|00002b00| 72 6d 73 20 74 20 65 72 | 72 6f 72 20 22 54 65 72 |rms t er|ror "Ter|
|00002b10| 6d 69 6e 61 74 69 6f 6e | 20 66 6f 72 6d 20 66 6f |mination| form fo|
|00002b20| 72 20 64 6f 20 6d 61 63 | 72 6f 20 73 68 6f 75 6c |r do mac|ro shoul|
|00002b30| 64 20 62 65 20 61 20 6c | 69 73 74 2c 20 6e 6f 74 |d be a l|ist, not|
|00002b40| 20 60 25 73 27 22 20 70 | 72 69 6e 31 2d 74 6f 2d | `%s'" p|rin1-to-|
|00002b50| 73 74 72 69 6e 67 5d 20 | 34 29 29 0a 0a 28 64 65 |string] |4))..(de|
|00002b60| 66 75 6e 20 65 78 74 72 | 61 63 74 2d 64 6f 2d 69 |fun extr|act-do-i|
|00002b70| 6e 69 74 73 20 28 66 6f | 72 6d 73 29 20 22 5c 0a |nits (fo|rms) "\.|
|00002b80| 52 65 74 75 72 6e 73 20 | 61 20 6c 69 73 74 20 6f |Returns |a list o|
|00002b90| 66 20 74 68 65 20 69 6e | 69 74 69 61 6c 69 7a 61 |f the in|itializa|
|00002ba0| 74 69 6f 6e 73 20 28 66 | 6f 72 20 64 6f 29 20 69 |tions (f|or do) i|
|00002bb0| 6e 20 46 4f 52 4d 53 0a | 2d 61 20 73 74 65 70 66 |n FORMS.|-a stepf|
|00002bc0| 6f 72 6d 73 2c 20 73 65 | 65 20 74 68 65 20 64 6f |orms, se|e the do|
|00002bd0| 20 6d 61 63 72 6f 2d 2e | 20 46 6f 72 6d 73 20 69 | macro-.| Forms i|
|00002be0| 73 20 61 73 73 75 6d 65 | 64 20 73 79 6e 74 61 63 |s assume|d syntac|
|00002bf0| 74 69 63 61 6c 6c 79 20 | 76 61 6c 69 64 2e 22 20 |tically |valid." |
|00002c00| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c1 c2 08 5c |(byte-co|de "...\|
|00002c10| 22 87 22 20 5b 66 6f 72 | 6d 73 20 6d 61 70 63 61 |"." [for|ms mapca|
|00002c20| 72 20 28 6c 61 6d 62 64 | 61 20 28 65 6e 74 72 79 |r (lambd|a (entry|
|00002c30| 29 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 08 39 |) (byte-|code ".9|
|00002c40| 83 0b 00 08 c1 44 82 16 | 00 08 3c 85 16 00 08 40 |.....D..|..<....@|
|00002c50| c2 08 21 44 87 22 20 5b | 65 6e 74 72 79 20 6e 69 |..!D." [|entry ni|
|00002c60| 6c 20 63 61 64 72 5d 20 | 33 29 29 5d 20 33 29 29 |l cadr] |3))] 3))|
|00002c70| 0a 0a 28 64 65 66 75 6e | 20 65 78 74 72 61 63 74 |..(defun| extract|
|00002c80| 2d 64 6f 2d 73 74 65 70 | 73 20 28 66 6f 72 6d 73 |-do-step|s (forms|
|00002c90| 29 20 22 5c 0a 45 58 54 | 52 41 43 54 2d 44 4f 2d |) "\.EXT|RACT-DO-|
|00002ca0| 53 54 45 50 53 20 46 4f | 52 4d 53 20 3d 3e 20 61 |STEPS FO|RMS => a|
|00002cb0| 6e 20 73 2d 65 78 70 72 | 0a 46 4f 52 4d 53 20 69 |n s-expr|.FORMS i|
|00002cc0| 73 20 74 68 65 20 73 74 | 65 70 66 6f 72 6d 73 20 |s the st|epforms |
|00002cd0| 70 61 72 74 20 6f 66 20 | 61 20 44 4f 20 6d 61 63 |part of |a DO mac|
|00002ce0| 72 6f 20 28 71 2e 76 2e | 29 2e 20 20 54 68 69 73 |ro (q.v.|). This|
|00002cf0| 20 66 75 6e 63 74 69 6f | 6e 0a 63 6f 6e 73 74 72 | functio|n.constr|
|00002d00| 75 63 74 73 20 61 6e 20 | 73 2d 65 78 70 72 65 73 |ucts an |s-expres|
|00002d10| 73 69 6f 6e 20 74 68 61 | 74 20 64 6f 65 73 20 74 |sion tha|t does t|
|00002d20| 68 65 20 73 74 65 70 70 | 69 6e 67 20 61 74 20 74 |he stepp|ing at t|
|00002d30| 68 65 20 65 6e 64 20 6f | 66 20 61 6e 0a 69 74 65 |he end o|f an.ite|
|00002d40| 72 61 74 69 6f 6e 2e 22 | 20 28 62 79 74 65 2d 63 |ration."| (byte-c|
|00002d50| 6f 64 65 20 22 c1 c2 08 | 21 42 43 87 22 20 5b 66 |ode "...|!BC." [f|
|00002d60| 6f 72 6d 73 20 70 73 65 | 74 71 20 73 65 6c 65 63 |orms pse|tq selec|
|00002d70| 74 2d 73 74 65 70 70 69 | 6e 67 2d 66 6f 72 6d 73 |t-steppi|ng-forms|
|00002d80| 5d 20 33 29 29 0a 0a 28 | 64 65 66 75 6e 20 65 78 |] 3))..(|defun ex|
|00002d90| 74 72 61 63 74 2d 64 6f | 2a 2d 73 74 65 70 73 20 |tract-do|*-steps |
|00002da0| 28 66 6f 72 6d 73 29 20 | 22 5c 0a 45 58 54 52 41 |(forms) |"\.EXTRA|
|00002db0| 43 54 2d 44 4f 2a 2d 53 | 54 45 50 53 20 46 4f 52 |CT-DO*-S|TEPS FOR|
|00002dc0| 4d 53 20 3d 3e 20 61 6e | 20 73 2d 65 78 70 72 0a |MS => an| s-expr.|
|00002dd0| 46 4f 52 4d 53 20 69 73 | 20 74 68 65 20 73 74 65 |FORMS is| the ste|
|00002de0| 70 66 6f 72 6d 73 20 70 | 61 72 74 20 6f 66 20 61 |pforms p|art of a|
|00002df0| 20 44 4f 2a 20 6d 61 63 | 72 6f 20 28 71 2e 76 2e | DO* mac|ro (q.v.|
|00002e00| 29 2e 20 20 54 68 69 73 | 20 66 75 6e 63 74 69 6f |). This| functio|
|00002e10| 6e 0a 63 6f 6e 73 74 72 | 75 63 74 73 20 61 6e 20 |n.constr|ucts an |
|00002e20| 73 2d 65 78 70 72 65 73 | 73 69 6f 6e 20 74 68 61 |s-expres|sion tha|
|00002e30| 74 20 64 6f 65 73 20 74 | 68 65 20 73 74 65 70 70 |t does t|he stepp|
|00002e40| 69 6e 67 20 61 74 20 74 | 68 65 20 65 6e 64 20 6f |ing at t|he end o|
|00002e50| 66 20 61 6e 0a 69 74 65 | 72 61 74 69 6f 6e 2e 22 |f an.ite|ration."|
|00002e60| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c1 c2 08 | (byte-c|ode "...|
|00002e70| 21 42 43 87 22 20 5b 66 | 6f 72 6d 73 20 73 65 74 |!BC." [f|orms set|
|00002e80| 71 20 73 65 6c 65 63 74 | 2d 73 74 65 70 70 69 6e |q select|-steppin|
|00002e90| 67 2d 66 6f 72 6d 73 5d | 20 33 29 29 0a 0a 28 64 |g-forms]| 3))..(d|
|00002ea0| 65 66 75 6e 20 73 65 6c | 65 63 74 2d 73 74 65 70 |efun sel|ect-step|
|00002eb0| 70 69 6e 67 2d 66 6f 72 | 6d 73 20 28 66 6f 72 6d |ping-for|ms (form|
|00002ec0| 73 29 20 22 5c 0a 53 65 | 70 61 72 61 74 65 20 6f |s) "\.Se|parate o|
|00002ed0| 6e 6c 79 20 74 68 65 20 | 66 6f 72 6d 73 20 74 68 |nly the |forms th|
|00002ee0| 61 74 20 63 61 75 73 65 | 20 73 74 65 70 70 69 6e |at cause| steppin|
|00002ef0| 67 2e 22 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |g." (byt|e-code "|
|00002f00| c4 0a c4 1b 19 18 09 85 | 2f 00 09 40 89 13 88 0b |........|/..@....|
|00002f10| 3c 85 18 00 0b 47 c5 55 | 85 26 00 c6 c7 0b 21 0b |<....G.U|.&....!.|
|00002f20| 40 44 08 5c 22 89 10 88 | 09 41 89 11 88 82 06 00 |@D.\"...|.A......|
|00002f30| 88 c8 08 21 2b 87 22 20 | 5b 72 65 73 75 6c 74 20 |...!+." |[result |
|00002f40| 70 74 72 20 66 6f 72 6d | 73 20 65 6e 74 72 79 20 |ptr form|s entry |
|00002f50| 6e 69 6c 20 33 20 61 70 | 70 65 6e 64 20 63 61 64 |nil 3 ap|pend cad|
|00002f60| 64 72 20 6e 72 65 76 65 | 72 73 65 5d 20 35 29 29 |dr nreve|rse] 5))|
|00002f70| 0a 0a 28 64 65 66 6d 61 | 63 72 6f 20 64 6f 6c 69 |..(defma|cro doli|
|00002f80| 73 74 20 28 73 74 65 70 | 66 6f 72 6d 20 26 72 65 |st (step|form &re|
|00002f90| 73 74 20 62 6f 64 79 29 | 20 22 28 64 6f 6c 69 73 |st body)| "(dolis|
|00002fa0| 74 20 28 56 41 52 20 4c | 49 53 54 20 5b 52 45 53 |t (VAR L|IST [RES|
|00002fb0| 55 4c 54 46 4f 52 4d 5d | 29 20 2e 20 42 4f 44 59 |ULTFORM]|) . BODY|
|00002fc0| 29 3a 20 64 6f 20 42 4f | 44 59 20 66 6f 72 20 65 |): do BO|DY for e|
|00002fd0| 61 63 68 20 65 6c 74 20 | 6f 66 20 4c 49 53 54 2e |ach elt |of LIST.|
|00002fe0| 0a 54 68 65 20 52 45 53 | 55 4c 54 46 4f 52 4d 20 |.The RES|ULTFORM |
|00002ff0| 64 65 66 61 75 6c 74 73 | 20 74 6f 20 6e 69 6c 2e |defaults| to nil.|
|00003000| 20 20 54 68 65 20 56 41 | 52 20 69 73 20 62 6f 75 | The VA|R is bou|
|00003010| 6e 64 20 74 6f 20 73 75 | 63 63 65 73 73 69 76 65 |nd to su|ccessive|
|00003020| 0a 65 6c 65 6d 65 6e 74 | 73 20 6f 66 20 74 68 65 |.element|s of the|
|00003030| 20 76 61 6c 75 65 20 6f | 66 20 4c 49 53 54 20 61 | value o|f LIST a|
|00003040| 6e 64 20 72 65 6d 61 69 | 6e 73 20 62 6f 75 6e 64 |nd remai|ns bound|
|00003050| 20 28 74 6f 20 74 68 65 | 20 6e 69 6c 20 76 61 6c | (to the| nil val|
|00003060| 75 65 29 20 77 68 65 6e | 20 74 68 65 0a 52 45 53 |ue) when| the.RES|
|00003070| 55 4c 54 46 4f 52 4d 20 | 69 73 20 65 76 61 6c 75 |ULTFORM |is evalu|
|00003080| 61 74 65 64 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 |ated." (|byte-cod|
|00003090| 65 20 22 c6 08 21 83 0f | 00 c7 c8 c9 08 21 5c 22 |e "..!..|.....!\"|
|000030a0| 82 2d 00 08 40 39 3f 83 | 20 00 c7 ca c9 08 40 21 |.-..@9?.| .....@!|
|000030b0| 5c 22 82 2d 00 08 47 cb | 56 85 2d 00 c7 cc c9 08 |\".-..G.|V.-.....|
|000030c0| 21 5c 22 88 08 40 19 cd | 08 21 1a ce 08 21 1b cf |!\"..@..|.!...!..|
|000030d0| d0 d1 d2 09 43 0c 42 42 | 44 0a 45 d3 09 c5 44 43 |....C.BB|D.E...DC|
|000030e0| 0b 45 45 2b 87 22 20 5b | 73 74 65 70 66 6f 72 6d |.EE+." [|stepform|
|000030f0| 20 76 61 72 20 6c 69 73 | 74 66 6f 72 6d 20 72 65 | var lis|tform re|
|00003100| 73 75 6c 74 66 6f 72 6d | 20 62 6f 64 79 20 6e 69 |sultform| body ni|
|00003110| 6c 20 6e 6c 69 73 74 70 | 20 65 72 72 6f 72 20 22 |l nlistp| error "|
|00003120| 53 74 65 70 66 6f 72 6d | 20 66 6f 72 20 60 64 6f |Stepform| for `do|
|00003130| 6c 69 73 74 27 20 73 68 | 6f 75 6c 64 20 62 65 20 |list' sh|ould be |
|00003140| 28 56 41 52 20 4c 49 53 | 54 20 5b 52 45 53 55 4c |(VAR LIS|T [RESUL|
|00003150| 54 5d 29 2c 20 6e 6f 74 | 20 60 25 73 27 22 20 70 |T]), not| `%s'" p|
|00003160| 72 69 6e 31 2d 74 6f 2d | 73 74 72 69 6e 67 20 22 |rin1-to-|string "|
|00003170| 46 69 72 73 74 20 63 6f | 6d 70 6f 6e 65 6e 74 20 |First co|mponent |
|00003180| 6f 66 20 73 74 65 70 66 | 6f 72 6d 20 73 68 6f 75 |of stepf|orm shou|
|00003190| 6c 64 20 62 65 20 61 20 | 73 79 6d 62 6f 6c 2c 20 |ld be a |symbol, |
|000031a0| 6e 6f 74 20 60 25 73 27 | 22 20 33 20 22 54 6f 6f |not `%s'|" 3 "Too|
|000031b0| 20 6d 61 6e 79 20 63 6f | 6d 70 6f 6e 65 6e 74 73 | many co|mponents|
|000031c0| 20 69 6e 20 73 74 65 70 | 66 6f 72 6d 20 60 25 73 | in step|form `%s|
|000031d0| 27 22 20 63 61 64 72 20 | 63 61 64 64 72 20 70 72 |'" cadr |caddr pr|
|000031e0| 6f 67 6e 20 6d 61 70 63 | 61 72 20 66 75 6e 63 74 |ogn mapc|ar funct|
|000031f0| 69 6f 6e 20 6c 61 6d 62 | 64 61 20 6c 65 74 5d 20 |ion lamb|da let] |
|00003200| 31 35 29 29 0a 0a 28 64 | 65 66 6d 61 63 72 6f 20 |15))..(d|efmacro |
|00003210| 64 6f 74 69 6d 65 73 20 | 28 73 74 65 70 66 6f 72 |dotimes |(stepfor|
|00003220| 6d 20 26 72 65 73 74 20 | 62 6f 64 79 29 20 22 28 |m &rest |body) "(|
|00003230| 64 6f 74 69 6d 65 73 20 | 28 56 41 52 20 43 4f 55 |dotimes |(VAR COU|
|00003240| 4e 54 46 4f 52 4d 20 5b | 52 45 53 55 4c 54 46 4f |NTFORM [|RESULTFO|
|00003250| 52 4d 5d 29 20 2e 20 20 | 42 4f 44 59 29 3a 20 52 |RM]) . |BODY): R|
|00003260| 65 70 65 61 74 20 42 4f | 44 59 2c 20 63 6f 75 6e |epeat BO|DY, coun|
|00003270| 74 69 6e 67 20 69 6e 20 | 56 41 52 2e 0a 54 68 65 |ting in |VAR..The|
|00003280| 20 43 4f 55 4e 54 46 4f | 52 4d 20 73 68 6f 75 6c | COUNTFO|RM shoul|
|00003290| 64 20 72 65 74 75 72 6e | 20 61 20 70 6f 73 69 74 |d return| a posit|
|000032a0| 69 76 65 20 69 6e 74 65 | 67 65 72 2e 20 20 54 68 |ive inte|ger. Th|
|000032b0| 65 20 56 41 52 20 69 73 | 20 62 6f 75 6e 64 20 74 |e VAR is| bound t|
|000032c0| 6f 0a 73 75 63 63 65 73 | 73 69 76 65 20 69 6e 74 |o.succes|sive int|
|000032d0| 65 67 65 72 73 20 66 72 | 6f 6d 20 30 20 74 6f 20 |egers fr|om 0 to |
|000032e0| 43 4f 55 4e 54 46 4f 52 | 4d 2d 31 20 61 6e 64 20 |COUNTFOR|M-1 and |
|000032f0| 74 68 65 20 42 4f 44 59 | 20 69 73 20 72 65 70 65 |the BODY| is repe|
|00003300| 61 74 65 64 20 66 6f 72 | 0a 65 61 63 68 20 6f 66 |ated for|.each of|
|00003310| 20 74 68 65 6d 2e 20 20 | 41 74 20 74 68 65 20 65 | them. |At the e|
|00003320| 6e 64 2c 20 74 68 65 20 | 52 45 53 55 4c 54 46 4f |nd, the |RESULTFO|
|00003330| 52 4d 20 69 73 20 65 76 | 61 6c 75 61 74 65 64 20 |RM is ev|aluated |
|00003340| 61 6e 64 20 69 74 73 20 | 76 61 6c 75 65 0a 72 65 |and its |value.re|
|00003350| 74 75 72 6e 65 64 2e 20 | 44 75 72 69 6e 67 20 74 |turned. |During t|
|00003360| 68 69 73 20 6c 61 73 74 | 20 65 76 61 6c 75 61 74 |his last| evaluat|
|00003370| 69 6f 6e 2c 20 74 68 65 | 20 56 41 52 20 69 73 20 |ion, the| VAR is |
|00003380| 73 74 69 6c 6c 20 62 6f | 75 6e 64 2c 20 61 6e 64 |still bo|und, and|
|00003390| 20 69 74 73 0a 76 61 6c | 75 65 20 69 73 20 74 68 | its.val|ue is th|
|000033a0| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 74 69 6d 65 |e number| of time|
|000033b0| 73 20 74 68 65 20 69 74 | 65 72 61 74 69 6f 6e 20 |s the it|eration |
|000033c0| 6f 63 63 75 72 72 65 64 | 2e 20 41 6e 20 6f 6d 69 |occurred|. An omi|
|000033d0| 74 74 65 64 20 52 45 53 | 55 4c 54 46 4f 52 4d 0a |tted RES|ULTFORM.|
|000033e0| 64 65 66 61 75 6c 74 73 | 20 74 6f 20 6e 69 6c 2e |defaults| to nil.|
|000033f0| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 c6 08 |" (byte-|code "..|
|00003400| 21 83 0f 00 c7 c8 c9 08 | 21 5c 22 82 2d 00 08 40 |!.......|!\".-..@|
|00003410| 39 3f 83 20 00 c7 ca c9 | 08 40 21 5c 22 82 2d 00 |9?. ....|.@!\".-.|
|00003420| 08 47 cb 56 85 2d 00 c7 | cc c9 08 21 5c 22 88 08 |.G.V.-..|...!\"..|
|00003430| 40 19 cd 08 21 1a ce 08 | 21 1b cf 20 1c d0 0c 0a |@...!...|!.. ....|
|00003440| 44 43 d1 d2 09 d3 d4 09 | d5 45 45 43 d6 09 0c 45 |DC......|.EEC...E|
|00003450| 0b 44 0d 24 45 2c 87 22 | 20 5b 73 74 65 70 66 6f |.D.$E,."| [stepfo|
|00003460| 72 6d 20 76 61 72 20 63 | 6f 75 6e 74 66 6f 72 6d |rm var c|ountform|
|00003470| 20 72 65 73 75 6c 74 66 | 6f 72 6d 20 6e 65 77 73 | resultf|orm news|
|00003480| 79 6d 20 62 6f 64 79 20 | 6e 6c 69 73 74 70 20 65 |ym body |nlistp e|
|00003490| 72 72 6f 72 20 22 53 74 | 65 70 66 6f 72 6d 20 66 |rror "St|epform f|
|000034a0| 6f 72 20 60 64 6f 74 69 | 6d 65 73 27 20 73 68 6f |or `doti|mes' sho|
|000034b0| 75 6c 64 20 62 65 20 28 | 56 41 52 20 43 4f 55 4e |uld be (|VAR COUN|
|000034c0| 54 20 5b 52 45 53 55 4c | 54 5d 29 2c 20 6e 6f 74 |T [RESUL|T]), not|
|000034d0| 20 60 25 73 27 22 20 70 | 72 69 6e 31 2d 74 6f 2d | `%s'" p|rin1-to-|
|000034e0| 73 74 72 69 6e 67 20 22 | 46 69 72 73 74 20 63 6f |string "|First co|
|000034f0| 6d 70 6f 6e 65 6e 74 20 | 6f 66 20 73 74 65 70 66 |mponent |of stepf|
|00003500| 6f 72 6d 20 73 68 6f 75 | 6c 64 20 62 65 20 61 20 |orm shou|ld be a |
|00003510| 73 79 6d 62 6f 6c 2c 20 | 6e 6f 74 20 60 25 73 27 |symbol, |not `%s'|
|00003520| 22 20 33 20 22 54 6f 6f | 20 6d 61 6e 79 20 63 6f |" 3 "Too| many co|
|00003530| 6d 70 6f 6e 65 6e 74 73 | 20 69 6e 20 73 74 65 70 |mponents| in step|
|00003540| 66 6f 72 6d 20 60 25 73 | 27 22 20 63 61 64 72 20 |form `%s|'" cadr |
|00003550| 63 61 64 64 72 20 67 65 | 6e 74 65 6d 70 20 6c 65 |caddr ge|ntemp le|
|00003560| 74 2a 20 6c 69 73 74 2a | 20 64 6f 2a 20 30 20 2b |t* list*| do* 0 +|
|00003570| 20 31 20 3e 3d 5d 20 31 | 39 29 29 0a 0a 28 64 65 | 1 >=] 1|9))..(de|
|00003580| 66 6d 61 63 72 6f 20 64 | 6f 2d 73 79 6d 62 6f 6c |fmacro d|o-symbol|
|00003590| 73 20 28 73 74 65 70 66 | 6f 72 6d 20 26 72 65 73 |s (stepf|orm &res|
|000035a0| 74 20 62 6f 64 79 29 20 | 22 28 64 6f 5f 73 79 6d |t body) |"(do_sym|
|000035b0| 62 6f 6c 73 20 28 56 41 | 52 20 5b 4f 42 41 52 52 |bols (VA|R [OBARR|
|000035c0| 41 59 20 5b 52 45 53 55 | 4c 54 46 4f 52 4d 5d 5d |AY [RESU|LTFORM]]|
|000035d0| 29 20 2e 20 42 4f 44 59 | 29 0a 54 68 65 20 56 41 |) . BODY|).The VA|
|000035e0| 52 20 69 73 20 62 6f 75 | 6e 64 20 74 6f 20 65 61 |R is bou|nd to ea|
|000035f0| 63 68 20 6f 66 20 74 68 | 65 20 73 79 6d 62 6f 6c |ch of th|e symbol|
|00003600| 73 20 69 6e 20 4f 42 41 | 52 52 41 59 20 28 64 65 |s in OBA|RRAY (de|
|00003610| 66 2e 20 6f 62 61 72 72 | 61 79 29 20 61 6e 64 0a |f. obarr|ay) and.|
|00003620| 74 68 65 20 42 4f 44 59 | 20 69 73 20 72 65 70 65 |the BODY| is repe|
|00003630| 61 74 65 64 6c 79 20 70 | 65 72 66 6f 72 6d 65 64 |atedly p|erformed|
|00003640| 20 66 6f 72 20 65 61 63 | 68 20 6f 66 20 74 68 6f | for eac|h of tho|
|00003650| 73 65 20 62 69 6e 64 69 | 6e 67 73 2e 20 41 74 20 |se bindi|ngs. At |
|00003660| 74 68 65 0a 65 6e 64 2c | 20 52 45 53 55 4c 54 46 |the.end,| RESULTF|
|00003670| 4f 52 4d 20 28 64 65 66 | 2e 20 6e 69 6c 29 20 69 |ORM (def|. nil) i|
|00003680| 73 20 65 76 61 6c 75 61 | 74 65 64 20 61 6e 64 20 |s evalua|ted and |
|00003690| 69 74 73 20 76 61 6c 75 | 65 20 72 65 74 75 72 6e |its valu|e return|
|000036a0| 65 64 2e 0a 44 75 72 69 | 6e 67 20 74 68 69 73 20 |ed..Duri|ng this |
|000036b0| 6c 61 73 74 20 65 76 61 | 6c 75 61 74 69 6f 6e 2c |last eva|luation,|
|000036c0| 20 74 68 65 20 56 41 52 | 20 69 73 20 73 74 69 6c | the VAR| is stil|
|000036d0| 6c 20 62 6f 75 6e 64 20 | 61 6e 64 20 69 74 73 20 |l bound |and its |
|000036e0| 76 61 6c 75 65 20 69 73 | 20 6e 69 6c 2e 0a 53 65 |value is| nil..Se|
|000036f0| 65 20 61 6c 73 6f 20 74 | 68 65 20 66 75 6e 63 74 |e also t|he funct|
|00003700| 69 6f 6e 20 60 6d 61 70 | 61 74 6f 6d 73 27 2e 22 |ion `map|atoms'."|
|00003710| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c6 08 21 | (byte-c|ode "..!|
|00003720| 83 0f 00 c7 c8 c9 08 21 | 5c 22 82 2d 00 08 40 39 |.......!|\".-..@9|
|00003730| 3f 83 20 00 c7 ca c9 08 | 40 21 5c 22 82 2d 00 08 |?. .....|@!\".-..|
|00003740| 47 cb 56 85 2d 00 c7 cc | c9 08 21 5c 22 88 08 40 |G.V.-...|..!\"..@|
|00003750| 19 cd 08 21 1a ce 08 21 | 1b cf d0 d1 d2 09 43 0c |...!...!|......C.|
|00003760| 42 42 44 0a 45 d3 09 c5 | 44 43 0b 45 45 2b 87 22 |BBD.E...|DC.EE+."|
|00003770| 20 5b 73 74 65 70 66 6f | 72 6d 20 76 61 72 20 6f | [stepfo|rm var o|
|00003780| 62 6c 69 73 74 20 72 65 | 73 75 6c 74 66 6f 72 6d |blist re|sultform|
|00003790| 20 62 6f 64 79 20 6e 69 | 6c 20 6e 6c 69 73 74 70 | body ni|l nlistp|
|000037a0| 20 65 72 72 6f 72 20 22 | 53 74 65 70 66 6f 72 6d | error "|Stepform|
|000037b0| 20 66 6f 72 20 60 64 6f | 2d 73 79 6d 62 6f 6c 73 | for `do|-symbols|
|000037c0| 27 20 73 68 6f 75 6c 64 | 20 62 65 20 28 56 41 52 |' should| be (VAR|
|000037d0| 20 4f 42 41 52 52 41 59 | 20 5b 52 45 53 55 4c 54 | OBARRAY| [RESULT|
|000037e0| 5d 29 2c 20 6e 6f 74 20 | 60 25 73 27 22 20 70 72 |]), not |`%s'" pr|
|000037f0| 69 6e 31 2d 74 6f 2d 73 | 74 72 69 6e 67 20 22 46 |in1-to-s|tring "F|
|00003800| 69 72 73 74 20 63 6f 6d | 70 6f 6e 65 6e 74 20 6f |irst com|ponent o|
|00003810| 66 20 73 74 65 70 66 6f | 72 6d 20 73 68 6f 75 6c |f stepfo|rm shoul|
|00003820| 64 20 62 65 20 61 20 73 | 79 6d 62 6f 6c 2c 20 6e |d be a s|ymbol, n|
|00003830| 6f 74 20 60 25 73 27 22 | 20 33 20 22 54 6f 6f 20 |ot `%s'"| 3 "Too |
|00003840| 6d 61 6e 79 20 63 6f 6d | 70 6f 6e 65 6e 74 73 20 |many com|ponents |
|00003850| 69 6e 20 73 74 65 70 66 | 6f 72 6d 20 60 25 73 27 |in stepf|orm `%s'|
|00003860| 22 20 63 61 64 72 20 63 | 61 64 64 72 20 70 72 6f |" cadr c|addr pro|
|00003870| 67 6e 20 6d 61 70 61 74 | 6f 6d 73 20 66 75 6e 63 |gn mapat|oms func|
|00003880| 74 69 6f 6e 20 6c 61 6d | 62 64 61 20 6c 65 74 5d |tion lam|bda let]|
|00003890| 20 31 35 29 29 0a 0a 28 | 64 65 66 6d 61 63 72 6f | 15))..(|defmacro|
|000038a0| 20 64 6f 2d 61 6c 6c 2d | 73 79 6d 62 6f 6c 73 20 | do-all-|symbols |
|000038b0| 28 73 74 65 70 66 6f 72 | 6d 20 26 72 65 73 74 20 |(stepfor|m &rest |
|000038c0| 62 6f 64 79 29 20 22 28 | 64 6f 2d 61 6c 6c 2d 73 |body) "(|do-all-s|
|000038d0| 79 6d 62 6f 6c 73 20 28 | 56 41 52 20 5b 52 45 53 |ymbols (|VAR [RES|
|000038e0| 55 4c 54 46 4f 52 4d 5d | 29 20 2e 20 42 4f 44 59 |ULTFORM]|) . BODY|
|000038f0| 29 0a 49 73 20 74 68 65 | 20 73 61 6d 65 20 61 73 |).Is the| same as|
|00003900| 20 28 64 6f 2d 73 79 6d | 62 6f 6c 73 20 28 56 41 | (do-sym|bols (VA|
|00003910| 52 20 6f 62 61 72 72 61 | 79 20 52 45 53 55 4c 54 |R obarra|y RESULT|
|00003920| 46 4f 52 4d 29 20 2e 20 | 42 4f 44 59 29 2e 22 20 |FORM) . |BODY)." |
|00003930| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c2 c3 08 40 |(byte-co|de "...@|
|00003940| c4 c5 08 21 45 09 23 87 | 22 20 5b 73 74 65 70 66 |...!E.#.|" [stepf|
|00003950| 6f 72 6d 20 62 6f 64 79 | 20 6c 69 73 74 2a 20 64 |orm body| list* d|
|00003960| 6f 2d 73 79 6d 62 6f 6c | 73 20 6f 62 61 72 72 61 |o-symbol|s obarra|
|00003970| 79 20 63 61 64 72 5d 20 | 36 29 29 0a 0a 28 64 65 |y cadr] |6))..(de|
|00003980| 66 6d 61 63 72 6f 20 6c | 6f 6f 70 20 28 26 72 65 |fmacro l|oop (&re|
|00003990| 73 74 20 62 6f 64 79 29 | 20 22 28 6c 6f 6f 70 20 |st body)| "(loop |
|000039a0| 2e 20 42 4f 44 59 29 20 | 72 65 70 65 61 74 73 20 |. BODY) |repeats |
|000039b0| 42 4f 44 59 20 69 6e 64 | 65 66 69 6e 69 74 65 6c |BODY ind|efinitel|
|000039c0| 79 20 61 6e 64 20 64 6f | 65 73 20 6e 6f 74 20 72 |y and do|es not r|
|000039d0| 65 74 75 72 6e 2e 0a 4e | 6f 72 6d 61 6c 6c 79 20 |eturn..N|ormally |
|000039e0| 42 4f 44 59 20 75 73 65 | 73 20 60 74 68 72 6f 77 |BODY use|s `throw|
|000039f0| 27 20 6f 72 20 60 73 69 | 67 6e 61 6c 27 20 74 6f |' or `si|gnal' to|
|00003a00| 20 63 61 75 73 65 20 61 | 6e 20 65 78 69 74 2e 0a | cause a|n exit..|
|00003a10| 54 68 65 20 66 6f 72 6d | 73 20 69 6e 20 42 4f 44 |The form|s in BOD|
|00003a20| 59 20 73 68 6f 75 6c 64 | 20 62 65 20 6c 69 73 74 |Y should| be list|
|00003a30| 73 2c 20 61 73 20 6e 6f | 6e 2d 6c 69 73 74 73 20 |s, as no|n-lists |
|00003a40| 61 72 65 20 72 65 73 65 | 72 76 65 64 20 66 6f 72 |are rese|rved for|
|00003a50| 20 6e 65 77 20 66 65 61 | 74 75 72 65 73 2e 22 20 | new fea|tures." |
|00003a60| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c1 08 21 83 |(byte-co|de "..!.|
|00003a70| 0c 00 c2 c3 21 82 16 00 | c4 c5 08 5c 22 88 c6 c7 |....!...|...\"...|
|00003a80| 08 42 42 87 22 20 5b 62 | 6f 64 79 20 6e 6c 69 73 |.BB." [b|ody nlis|
|00003a90| 74 70 20 65 72 72 6f 72 | 20 22 42 6f 64 79 20 6f |tp error| "Body o|
|00003aa0| 66 20 60 6c 6f 6f 70 27 | 20 73 68 6f 75 6c 64 20 |f `loop'| should |
|00003ab0| 62 65 20 61 20 6c 69 73 | 74 20 6f 66 20 6c 69 73 |be a lis|t of lis|
|00003ac0| 74 73 20 6f 72 20 6e 69 | 6c 22 20 6d 61 70 63 61 |ts or ni|l" mapca|
|00003ad0| 72 20 28 6c 61 6d 62 64 | 61 20 28 63 6f 6d 70 6f |r (lambd|a (compo|
|00003ae0| 6e 65 6e 74 29 20 28 62 | 79 74 65 2d 63 6f 64 65 |nent) (b|yte-code|
|00003af0| 20 22 c1 08 21 85 09 00 | c2 c3 21 87 22 20 5b 63 | "..!...|..!." [c|
|00003b00| 6f 6d 70 6f 6e 65 6e 74 | 20 6e 6c 69 73 74 70 20 |omponent| nlistp |
|00003b10| 65 72 72 6f 72 20 22 43 | 6f 6d 70 6f 6e 65 6e 74 |error "C|omponent|
|00003b20| 73 20 6f 66 20 60 6c 6f | 6f 70 27 20 73 68 6f 75 |s of `lo|op' shou|
|00003b30| 6c 64 20 62 65 20 6c 69 | 73 74 73 22 5d 20 33 29 |ld be li|sts"] 3)|
|00003b40| 29 20 77 68 69 6c 65 20 | 74 5d 20 36 29 29 0a 0a |) while |t] 6))..|
|00003b50| 28 64 65 66 75 6e 20 66 | 69 72 73 74 20 28 78 29 |(defun f|irst (x)|
|00003b60| 20 22 5c 0a 53 79 6e 6f | 6e 79 6d 20 66 6f 72 20 | "\.Syno|nym for |
|00003b70| 60 63 61 72 27 22 20 28 | 62 79 74 65 2d 63 6f 64 |`car'" (|byte-cod|
|00003b80| 65 20 22 08 40 87 22 20 | 5b 78 5d 20 31 29 29 0a |e ".@." |[x] 1)).|
|00003b90| 0a 28 64 65 66 75 6e 20 | 73 65 63 6f 6e 64 20 28 |.(defun |second (|
|00003ba0| 78 29 20 22 5c 0a 52 65 | 74 75 72 6e 20 74 68 65 |x) "\.Re|turn the|
|00003bb0| 20 73 65 63 6f 6e 64 20 | 65 6c 65 6d 65 6e 74 20 | second |element |
|00003bc0| 6f 66 20 74 68 65 20 6c | 69 73 74 20 4c 49 53 54 |of the l|ist LIST|
|00003bd0| 2e 22 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c1 |." (byte|-code ".|
|00003be0| 08 38 87 22 20 5b 78 20 | 31 5d 20 32 29 29 0a 0a |.8." [x |1] 2))..|
|00003bf0| 28 64 65 66 75 6e 20 74 | 68 69 72 64 20 28 78 29 |(defun t|hird (x)|
|00003c00| 20 22 5c 0a 52 65 74 75 | 72 6e 20 74 68 65 20 74 | "\.Retu|rn the t|
|00003c10| 68 69 72 64 20 65 6c 65 | 6d 65 6e 74 20 6f 66 20 |hird ele|ment of |
|00003c20| 74 68 65 20 6c 69 73 74 | 20 4c 49 53 54 2e 22 20 |the list| LIST." |
|00003c30| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c1 08 38 87 |(byte-co|de "..8.|
|00003c40| 22 20 5b 78 20 32 5d 20 | 32 29 29 0a 0a 28 64 65 |" [x 2] |2))..(de|
|00003c50| 66 75 6e 20 66 6f 75 72 | 74 68 20 28 78 29 20 22 |fun four|th (x) "|
|00003c60| 5c 0a 52 65 74 75 72 6e | 20 74 68 65 20 66 6f 75 |\.Return| the fou|
|00003c70| 72 74 68 20 65 6c 65 6d | 65 6e 74 20 6f 66 20 74 |rth elem|ent of t|
|00003c80| 68 65 20 6c 69 73 74 20 | 4c 49 53 54 2e 22 20 28 |he list |LIST." (|
|00003c90| 62 79 74 65 2d 63 6f 64 | 65 20 22 c1 08 38 87 22 |byte-cod|e "..8."|
|00003ca0| 20 5b 78 20 33 5d 20 32 | 29 29 0a 0a 28 64 65 66 | [x 3] 2|))..(def|
|00003cb0| 75 6e 20 66 69 66 74 68 | 20 28 78 29 20 22 5c 0a |un fifth| (x) "\.|
|00003cc0| 52 65 74 75 72 6e 20 74 | 68 65 20 66 69 66 74 68 |Return t|he fifth|
|00003cd0| 20 65 6c 65 6d 65 6e 74 | 20 6f 66 20 74 68 65 20 | element| of the |
|00003ce0| 6c 69 73 74 20 4c 49 53 | 54 2e 22 20 28 62 79 74 |list LIS|T." (byt|
|00003cf0| 65 2d 63 6f 64 65 20 22 | c1 08 38 87 22 20 5b 78 |e-code "|..8." [x|
|00003d00| 20 34 5d 20 32 29 29 0a | 0a 28 64 65 66 75 6e 20 | 4] 2)).|.(defun |
|00003d10| 73 69 78 74 68 20 28 78 | 29 20 22 5c 0a 52 65 74 |sixth (x|) "\.Ret|
|00003d20| 75 72 6e 20 74 68 65 20 | 73 69 78 74 68 20 65 6c |urn the |sixth el|
|00003d30| 65 6d 65 6e 74 20 6f 66 | 20 74 68 65 20 6c 69 73 |ement of| the lis|
|00003d40| 74 20 4c 49 53 54 2e 22 | 20 28 62 79 74 65 2d 63 |t LIST."| (byte-c|
|00003d50| 6f 64 65 20 22 c1 08 38 | 87 22 20 5b 78 20 35 5d |ode "..8|." [x 5]|
|00003d60| 20 32 29 29 0a 0a 28 64 | 65 66 75 6e 20 73 65 76 | 2))..(d|efun sev|
|00003d70| 65 6e 74 68 20 28 78 29 | 20 22 5c 0a 52 65 74 75 |enth (x)| "\.Retu|
|00003d80| 72 6e 20 74 68 65 20 73 | 65 76 65 6e 74 68 20 65 |rn the s|eventh e|
|00003d90| 6c 65 6d 65 6e 74 20 6f | 66 20 74 68 65 20 6c 69 |lement o|f the li|
|00003da0| 73 74 20 4c 49 53 54 2e | 22 20 28 62 79 74 65 2d |st LIST.|" (byte-|
|00003db0| 63 6f 64 65 20 22 c1 08 | 38 87 22 20 5b 78 20 36 |code "..|8." [x 6|
|00003dc0| 5d 20 32 29 29 0a 0a 28 | 64 65 66 75 6e 20 65 69 |] 2))..(|defun ei|
|00003dd0| 67 68 74 68 20 28 78 29 | 20 22 5c 0a 52 65 74 75 |ghth (x)| "\.Retu|
|00003de0| 72 6e 20 74 68 65 20 65 | 69 67 68 74 68 20 65 6c |rn the e|ighth el|
|00003df0| 65 6d 65 6e 74 20 6f 66 | 20 74 68 65 20 6c 69 73 |ement of| the lis|
|00003e00| 74 20 4c 49 53 54 2e 22 | 20 28 62 79 74 65 2d 63 |t LIST."| (byte-c|
|00003e10| 6f 64 65 20 22 c1 08 38 | 87 22 20 5b 78 20 37 5d |ode "..8|." [x 7]|
|00003e20| 20 32 29 29 0a 0a 28 64 | 65 66 75 6e 20 6e 69 6e | 2))..(d|efun nin|
|00003e30| 74 68 20 28 78 29 20 22 | 5c 0a 52 65 74 75 72 6e |th (x) "|\.Return|
|00003e40| 20 74 68 65 20 6e 69 6e | 74 68 20 65 6c 65 6d 65 | the nin|th eleme|
|00003e50| 6e 74 20 6f 66 20 74 68 | 65 20 6c 69 73 74 20 4c |nt of th|e list L|
|00003e60| 49 53 54 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |IST." (b|yte-code|
|00003e70| 20 22 c1 08 38 87 22 20 | 5b 78 20 38 5d 20 32 29 | "..8." |[x 8] 2)|
|00003e80| 29 0a 0a 28 64 65 66 75 | 6e 20 74 65 6e 74 68 20 |)..(defu|n tenth |
|00003e90| 28 78 29 20 22 5c 0a 52 | 65 74 75 72 6e 20 74 68 |(x) "\.R|eturn th|
|00003ea0| 65 20 74 65 6e 74 68 20 | 65 6c 65 6d 65 6e 74 20 |e tenth |element |
|00003eb0| 6f 66 20 74 68 65 20 6c | 69 73 74 20 4c 49 53 54 |of the l|ist LIST|
|00003ec0| 2e 22 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 c1 |." (byte|-code ".|
|00003ed0| 08 38 87 22 20 5b 78 20 | 39 5d 20 32 29 29 0a 0a |.8." [x |9] 2))..|
|00003ee0| 28 64 65 66 75 6e 20 72 | 65 73 74 20 28 78 29 20 |(defun r|est (x) |
|00003ef0| 22 5c 0a 53 79 6e 6f 6e | 79 6d 20 66 6f 72 20 60 |"\.Synon|ym for `|
|00003f00| 63 64 72 27 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |cdr'" (b|yte-code|
|00003f10| 20 22 08 41 87 22 20 5b | 78 5d 20 31 29 29 0a 0a | ".A." [|x] 1))..|
|00003f20| 28 64 65 66 75 6e 20 65 | 6e 64 70 20 28 78 29 20 |(defun e|ndp (x) |
|00003f30| 22 5c 0a 74 20 69 66 20 | 58 20 69 73 20 6e 69 6c |"\.t if |X is nil|
|00003f40| 2c 20 6e 69 6c 20 69 66 | 20 58 20 69 73 20 61 20 |, nil if| X is a |
|00003f50| 63 6f 6e 73 3b 20 65 72 | 72 6f 72 20 6f 74 68 65 |cons; er|ror othe|
|00003f60| 72 77 69 73 65 2e 22 20 | 28 62 79 74 65 2d 63 6f |rwise." |(byte-co|
|00003f70| 64 65 20 22 08 3c 83 0a | 00 08 3f 82 10 00 c1 c2 |de ".<..|..?.....|
|00003f80| c3 08 21 5c 22 87 22 20 | 5b 78 20 65 72 72 6f 72 |..!\"." |[x error|
|00003f90| 20 22 65 6e 64 70 20 72 | 65 63 65 69 76 65 64 20 | "endp r|eceived |
|00003fa0| 61 20 6e 6f 6e 2d 63 6f | 6e 73 2c 20 6e 6f 6e 2d |a non-co|ns, non-|
|00003fb0| 6e 75 6c 6c 20 61 72 67 | 75 6d 65 6e 74 20 60 25 |null arg|ument `%|
|00003fc0| 73 27 22 20 70 72 69 6e | 31 2d 74 6f 2d 73 74 72 |s'" prin|1-to-str|
|00003fd0| 69 6e 67 5d 20 34 29 29 | 0a 0a 28 64 65 66 75 6e |ing] 4))|..(defun|
|00003fe0| 20 6c 61 73 74 20 28 78 | 29 20 22 5c 0a 52 65 74 | last (x|) "\.Ret|
|00003ff0| 75 72 6e 73 20 74 68 65 | 20 6c 61 73 74 20 6c 69 |urns the| last li|
|00004000| 6e 6b 20 69 6e 20 74 68 | 65 20 6c 69 73 74 20 4c |nk in th|e list L|
|00004010| 49 53 54 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |IST." (b|yte-code|
|00004020| 20 22 c6 08 21 85 09 00 | c7 c8 21 88 08 08 41 1a | "..!...|..!...A.|
|00004030| 19 c9 0a 21 3f 85 28 00 | 09 41 0a 41 1c 1b 0b 11 |...!?.(.|.A.A....|
|00004040| 0c 89 12 88 c5 2a 88 82 | 0f 00 88 09 2a 87 22 20 |.....*..|....*." |
|00004050| 5b 78 20 63 75 72 72 65 | 6e 74 2d 63 6f 6e 73 20 |[x curre|nt-cons |
|00004060| 6e 65 78 74 2d 63 6f 6e | 73 20 47 24 24 5f 36 31 |next-con|s G$$_61|
|00004070| 30 20 47 24 24 5f 36 30 | 39 20 6e 69 6c 20 6e 6c |0 G$$_60|9 nil nl|
|00004080| 69 73 74 70 20 65 72 72 | 6f 72 20 22 41 72 67 20 |istp err|or "Arg |
|00004090| 74 6f 20 60 6c 61 73 74 | 27 20 6d 75 73 74 20 62 |to `last|' must b|
|000040a0| 65 20 61 20 6c 69 73 74 | 22 20 65 6e 64 70 5d 20 |e a list|" endp] |
|000040b0| 36 29 29 0a 0a 28 64 65 | 66 75 6e 20 6c 69 73 74 |6))..(de|fun list|
|000040c0| 2d 6c 65 6e 67 74 68 20 | 28 78 29 20 22 5c 0a 52 |-length |(x) "\.R|
|000040d0| 65 74 75 72 6e 73 20 74 | 68 65 20 6c 65 6e 67 74 |eturns t|he lengt|
|000040e0| 68 20 6f 66 20 61 20 6e | 6f 6e 2d 63 69 72 63 75 |h of a n|on-circu|
|000040f0| 6c 61 72 20 6c 69 73 74 | 2c 20 6f 72 20 60 6e 69 |lar list|, or `ni|
|00004100| 6c 27 20 66 6f 72 20 61 | 20 63 69 72 63 75 6c 61 |l' for a| circula|
|00004110| 72 20 6f 6e 65 2e 22 20 | 28 62 79 74 65 2d 63 6f |r one." |(byte-co|
|00004120| 64 65 20 22 c9 0a 0a c5 | 1c 1b 19 18 0c 3f 85 5f |de "....|.....?._|
|00004130| 00 ca 09 21 83 19 00 c6 | 89 14 82 47 00 ca 09 41 |...!....|...G...A|
|00004140| 21 83 2c 00 08 cb 5c 5c | 89 10 88 c6 89 14 82 47 |!.,...\\|.......G|
|00004150| 00 09 0b 3d 85 35 00 08 | c9 56 83 42 00 c5 89 10 |...=.5..|.V.B....|
|00004160| 88 c6 89 14 82 47 00 08 | cc 5c 5c 89 10 88 cd 09 |.....G..|.\\.....|
|00004170| 21 0b 41 1e 08 1e 07 0e | 07 11 0e 08 89 13 88 c5 |!.A.....|........|
|00004180| 2a 88 82 08 00 88 08 2c | 87 22 20 5b 6e 20 66 61 |*......,|." [n fa|
|00004190| 73 74 20 78 20 73 6c 6f | 77 20 72 65 61 64 79 20 |st x slo|w ready |
|000041a0| 6e 69 6c 20 74 20 47 24 | 24 5f 36 31 32 20 47 24 |nil t G$|$_612 G$|
|000041b0| 24 5f 36 31 31 20 30 20 | 65 6e 64 70 20 31 20 32 |$_611 0 |endp 1 2|
|000041c0| 20 63 64 64 72 5d 20 36 | 29 29 0a 0a 28 64 65 66 | cddr] 6|))..(def|
|000041d0| 75 6e 20 6d 65 6d 62 65 | 72 20 28 69 74 65 6d 20 |un membe|r (item |
|000041e0| 6c 69 73 74 29 20 22 5c | 0a 4c 6f 6f 6b 20 66 6f |list) "\|.Look fo|
|000041f0| 72 20 49 54 45 4d 20 69 | 6e 20 4c 49 53 54 3b 20 |r ITEM i|n LIST; |
|00004200| 72 65 74 75 72 6e 20 66 | 69 72 73 74 20 6c 69 6e |return f|irst lin|
|00004210| 6b 20 69 6e 20 4c 49 53 | 54 20 77 68 6f 73 65 20 |k in LIS|T whose |
|00004220| 63 61 72 20 69 73 20 60 | 65 71 6c 27 20 74 6f 20 |car is `|eql' to |
|00004230| 49 54 45 4d 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 |ITEM." (|byte-cod|
|00004240| 65 20 22 09 c3 c3 1c 1a | 18 0a 86 0d 00 c7 08 21 |e ".....|.......!|
|00004250| 3f 85 28 00 0d 08 40 3d | 85 1f 00 c6 89 12 88 08 |?.(...@=|........|
|00004260| 89 14 88 08 41 89 10 88 | 82 06 00 88 0c 2b 87 22 |....A...|.....+."|
|00004270| 20 5b 70 74 72 20 6c 69 | 73 74 20 64 6f 6e 65 20 | [ptr li|st done |
|00004280| 6e 69 6c 20 72 65 73 75 | 6c 74 20 69 74 65 6d 20 |nil resu|lt item |
|00004290| 74 20 65 6e 64 70 5d 20 | 34 29 29 0a 0a 28 64 65 |t endp] |4))..(de|
|000042a0| 66 75 6e 20 62 75 74 6c | 61 73 74 20 28 6c 69 73 |fun butl|ast (lis|
|000042b0| 74 20 26 6f 70 74 69 6f | 6e 61 6c 20 6e 29 20 22 |t &optio|nal n) "|
|000042c0| 5c 0a 52 65 74 75 72 6e | 20 61 20 6e 65 77 20 6c |\.Return| a new l|
|000042d0| 69 73 74 20 6c 69 6b 65 | 20 4c 49 53 54 20 62 75 |ist like| LIST bu|
|000042e0| 74 20 73 61 6e 73 20 74 | 68 65 20 6c 61 73 74 20 |t sans t|he last |
|000042f0| 4e 20 65 6c 65 6d 65 6e | 74 73 2e 0a 4e 20 64 65 |N elemen|ts..N de|
|00004300| 66 61 75 6c 74 73 20 74 | 6f 20 31 2e 20 20 49 66 |faults t|o 1. If|
|00004310| 20 74 68 65 20 6c 69 73 | 74 20 64 6f 65 73 6e 27 | the lis|t doesn'|
|00004320| 74 20 68 61 76 65 20 4e | 20 65 6c 65 6d 65 6e 74 |t have N| element|
|00004330| 73 2c 20 6e 69 6c 20 69 | 73 20 72 65 74 75 72 6e |s, nil i|s return|
|00004340| 65 64 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 |ed." (by|te-code |
|00004350| 22 08 3f 85 08 00 c2 89 | 10 88 c3 c4 08 c3 09 21 |".?.....|.......!|
|00004360| 5c 22 21 87 22 20 5b 6e | 20 6c 69 73 74 20 31 20 |\"!." [n| list 1 |
|00004370| 72 65 76 65 72 73 65 20 | 6e 74 68 63 64 72 5d 20 |reverse |nthcdr] |
|00004380| 35 29 29 0a 0a 28 64 65 | 66 75 6e 20 6c 69 73 74 |5))..(de|fun list|
|00004390| 2a 20 28 61 72 67 20 26 | 72 65 73 74 20 6f 74 68 |* (arg &|rest oth|
|000043a0| 65 72 73 29 20 22 5c 0a | 52 65 74 75 72 6e 20 61 |ers) "\.|Return a|
|000043b0| 20 6e 65 77 20 6c 69 73 | 74 20 63 6f 6e 74 61 69 | new lis|t contai|
|000043c0| 6e 69 6e 67 20 74 68 65 | 20 66 69 72 73 74 20 61 |ning the| first a|
|000043d0| 72 67 75 6d 65 6e 74 73 | 20 63 6f 6e 73 65 64 20 |rguments| consed |
|000043e0| 6f 6e 74 6f 20 74 68 65 | 20 6c 61 73 74 20 61 72 |onto the| last ar|
|000043f0| 67 2e 0a 54 68 75 73 2c | 20 28 6c 69 73 74 2a 20 |g..Thus,| (list* |
|00004400| 31 20 32 20 33 20 27 28 | 61 20 62 29 29 20 72 65 |1 2 3 '(|a b)) re|
|00004410| 74 75 72 6e 73 20 28 31 | 20 32 20 33 20 61 20 62 |turns (1| 2 3 a b|
|00004420| 29 2e 22 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |)." (byt|e-code "|
|00004430| 08 3f 83 09 00 09 82 1f | 00 09 08 42 1a c5 0a 21 |.?......|...B...!|
|00004440| 1b c6 0a 21 1c c7 c6 0b | 21 0c 40 5c 22 88 0b 2b |...!....|!.@\"..+|
|00004450| 87 22 20 5b 6f 74 68 65 | 72 73 20 61 72 67 20 61 |." [othe|rs arg a|
|00004460| 6c 6c 61 72 67 73 20 66 | 72 6f 6e 74 20 62 61 63 |llargs f|ront bac|
|00004470| 6b 20 62 75 74 6c 61 73 | 74 20 6c 61 73 74 20 72 |k butlas|t last r|
|00004480| 70 6c 61 63 64 5d 20 36 | 29 29 0a 0a 28 64 65 66 |placd] 6|))..(def|
|00004490| 75 6e 20 61 64 6a 6f 69 | 6e 20 28 69 74 65 6d 20 |un adjoi|n (item |
|000044a0| 6c 69 73 74 29 20 22 5c | 0a 52 65 74 75 72 6e 20 |list) "\|.Return |
|000044b0| 61 20 6c 69 73 74 20 77 | 68 69 63 68 20 63 6f 6e |a list w|hich con|
|000044c0| 74 61 69 6e 73 20 49 54 | 45 4d 20 62 75 74 20 69 |tains IT|EM but i|
|000044d0| 73 20 6f 74 68 65 72 77 | 69 73 65 20 6c 69 6b 65 |s otherw|ise like|
|000044e0| 20 4c 49 53 54 2e 0a 49 | 66 20 49 54 45 4d 20 6f | LIST..I|f ITEM o|
|000044f0| 63 63 75 72 73 20 69 6e | 20 4c 49 53 54 2c 20 74 |ccurs in| LIST, t|
|00004500| 68 65 20 76 61 6c 75 65 | 20 69 73 20 4c 49 53 54 |he value| is LIST|
|00004510| 2e 20 20 4f 74 68 65 72 | 77 69 73 65 20 69 74 20 |. Other|wise it |
|00004520| 69 73 20 28 63 6f 6e 73 | 20 49 54 45 4d 20 4c 49 |is (cons| ITEM LI|
|00004530| 53 54 29 2e 0a 57 68 65 | 6e 20 63 6f 6d 70 61 72 |ST)..Whe|n compar|
|00004540| 69 6e 67 20 49 54 45 4d | 20 61 67 61 69 6e 73 74 |ing ITEM| against|
|00004550| 20 65 6c 65 6d 65 6e 74 | 73 2c 20 60 65 71 6c 27 | element|s, `eql'|
|00004560| 20 69 73 20 75 73 65 64 | 2e 22 20 28 62 79 74 65 | is used|." (byte|
|00004570| 2d 63 6f 64 65 20 22 c3 | 08 09 5c 22 83 0b 00 09 |-code ".|..\"....|
|00004580| 82 0e 00 08 09 42 87 22 | 20 5b 69 74 65 6d 20 6c |.....B."| [item l|
|00004590| 69 73 74 20 74 20 6d 65 | 6d 62 65 72 5d 20 33 29 |ist t me|mber] 3)|
|000045a0| 29 0a 0a 28 64 65 66 75 | 6e 20 6c 64 69 66 66 20 |)..(defu|n ldiff |
|000045b0| 28 6c 69 73 74 20 73 75 | 62 6c 69 73 74 29 20 22 |(list su|blist) "|
|000045c0| 5c 0a 52 65 74 75 72 6e | 20 61 20 6e 65 77 20 6c |\.Return| a new l|
|000045d0| 69 73 74 20 6c 69 6b 65 | 20 4c 49 53 54 20 62 75 |ist like| LIST bu|
|000045e0| 74 20 73 61 6e 73 20 53 | 55 42 4c 49 53 54 2e 0a |t sans S|UBLIST..|
|000045f0| 53 55 42 4c 49 53 54 20 | 6d 75 73 74 20 62 65 20 |SUBLIST |must be |
|00004600| 6f 6e 65 20 6f 66 20 74 | 68 65 20 6c 69 6e 6b 73 |one of t|he links|
|00004610| 20 69 6e 20 4c 49 53 54 | 3b 20 6f 74 68 65 72 77 | in LIST|; otherw|
|00004620| 69 73 65 20 74 68 65 20 | 76 61 6c 75 65 20 69 73 |ise the |value is|
|00004630| 20 4c 49 53 54 20 69 74 | 73 65 6c 66 2e 22 20 28 | LIST it|self." (|
|00004640| 62 79 74 65 2d 63 6f 64 | 65 20 22 c5 0a 19 18 c6 |byte-cod|e ".....|
|00004650| 09 21 86 0d 00 09 0b 3d | 3f 85 25 00 09 40 08 42 |.!.....=|?.%..@.B|
|00004660| 89 10 88 09 41 1c 0c 89 | 11 88 c5 29 88 82 04 00 |....A...|...)....|
|00004670| 88 c7 08 21 2a 87 22 20 | 5b 72 65 73 75 6c 74 20 |...!*." |[result |
|00004680| 63 75 72 63 6f 6e 73 20 | 6c 69 73 74 20 73 75 62 |curcons |list sub|
|00004690| 6c 69 73 74 20 47 24 24 | 5f 36 31 33 20 6e 69 6c |list G$$|_613 nil|
|000046a0| 20 65 6e 64 70 20 72 65 | 76 65 72 73 65 5d 20 34 | endp re|verse] 4|
|000046b0| 29 29 0a 0a 28 64 65 66 | 75 6e 20 63 61 61 72 20 |))..(def|un caar |
|000046c0| 28 58 29 20 22 5c 0a 52 | 65 74 75 72 6e 20 74 68 |(X) "\.R|eturn th|
|000046d0| 65 20 63 61 72 20 6f 66 | 20 74 68 65 20 63 61 72 |e car of| the car|
|000046e0| 20 6f 66 20 58 2e 22 20 | 28 62 79 74 65 2d 63 6f | of X." |(byte-co|
|000046f0| 64 65 20 22 08 40 40 87 | 22 20 5b 58 5d 20 31 29 |de ".@@.|" [X] 1)|
|00004700| 29 0a 0a 28 64 65 66 75 | 6e 20 63 61 64 72 20 28 |)..(defu|n cadr (|
|00004710| 58 29 20 22 5c 0a 52 65 | 74 75 72 6e 20 74 68 65 |X) "\.Re|turn the|
|00004720| 20 63 61 72 20 6f 66 20 | 74 68 65 20 63 64 72 20 | car of |the cdr |
|00004730| 6f 66 20 58 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 |of X." (|byte-cod|
|00004740| 65 20 22 08 41 40 87 22 | 20 5b 58 5d 20 31 29 29 |e ".A@."| [X] 1))|
|00004750| 0a 0a 28 64 65 66 75 6e | 20 63 64 61 72 20 28 58 |..(defun| cdar (X|
|00004760| 29 20 22 5c 0a 52 65 74 | 75 72 6e 20 74 68 65 20 |) "\.Ret|urn the |
|00004770| 63 64 72 20 6f 66 20 74 | 68 65 20 63 61 72 20 6f |cdr of t|he car o|
|00004780| 66 20 58 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |f X." (b|yte-code|
|00004790| 20 22 08 40 41 87 22 20 | 5b 58 5d 20 31 29 29 0a | ".@A." |[X] 1)).|
|000047a0| 0a 28 64 65 66 75 6e 20 | 63 64 64 72 20 28 58 29 |.(defun |cddr (X)|
|000047b0| 20 22 5c 0a 52 65 74 75 | 72 6e 20 74 68 65 20 63 | "\.Retu|rn the c|
|000047c0| 64 72 20 6f 66 20 74 68 | 65 20 63 64 72 20 6f 66 |dr of th|e cdr of|
|000047d0| 20 58 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 | X." (by|te-code |
|000047e0| 22 08 41 41 87 22 20 5b | 58 5d 20 31 29 29 0a 0a |".AA." [|X] 1))..|
|000047f0| 28 64 65 66 75 6e 20 63 | 61 61 61 72 20 28 58 29 |(defun c|aaar (X)|
|00004800| 20 22 5c 0a 52 65 74 75 | 72 6e 20 74 68 65 20 63 | "\.Retu|rn the c|
|00004810| 61 72 20 6f 66 20 74 68 | 65 20 63 61 72 20 6f 66 |ar of th|e car of|
|00004820| 20 74 68 65 20 63 61 72 | 20 6f 66 20 58 2e 22 20 | the car| of X." |
|00004830| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 40 40 40 |(byte-co|de ".@@@|
|00004840| 87 22 20 5b 58 5d 20 31 | 29 29 0a 0a 28 64 65 66 |." [X] 1|))..(def|
|00004850| 75 6e 20 63 61 61 64 72 | 20 28 58 29 20 22 5c 0a |un caadr| (X) "\.|
|00004860| 52 65 74 75 72 6e 20 74 | 68 65 20 63 61 72 20 6f |Return t|he car o|
|00004870| 66 20 74 68 65 20 63 61 | 72 20 6f 66 20 74 68 65 |f the ca|r of the|
|00004880| 20 63 64 72 20 6f 66 20 | 58 2e 22 20 28 62 79 74 | cdr of |X." (byt|
|00004890| 65 2d 63 6f 64 65 20 22 | 08 41 40 40 87 22 20 5b |e-code "|.A@@." [|
|000048a0| 58 5d 20 31 29 29 0a 0a | 28 64 65 66 75 6e 20 63 |X] 1))..|(defun c|
|000048b0| 61 64 61 72 20 28 58 29 | 20 22 5c 0a 52 65 74 75 |adar (X)| "\.Retu|
|000048c0| 72 6e 20 74 68 65 20 63 | 61 72 20 6f 66 20 74 68 |rn the c|ar of th|
|000048d0| 65 20 63 64 72 20 6f 66 | 20 74 68 65 20 63 61 72 |e cdr of| the car|
|000048e0| 20 6f 66 20 58 2e 22 20 | 28 62 79 74 65 2d 63 6f | of X." |(byte-co|
|000048f0| 64 65 20 22 08 40 41 40 | 87 22 20 5b 58 5d 20 31 |de ".@A@|." [X] 1|
|00004900| 29 29 0a 0a 28 64 65 66 | 75 6e 20 63 64 61 61 72 |))..(def|un cdaar|
|00004910| 20 28 58 29 20 22 5c 0a | 52 65 74 75 72 6e 20 74 | (X) "\.|Return t|
|00004920| 68 65 20 63 64 72 20 6f | 66 20 74 68 65 20 63 61 |he cdr o|f the ca|
|00004930| 72 20 6f 66 20 74 68 65 | 20 63 61 72 20 6f 66 20 |r of the| car of |
|00004940| 58 2e 22 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |X." (byt|e-code "|
|00004950| 08 40 40 41 87 22 20 5b | 58 5d 20 31 29 29 0a 0a |.@@A." [|X] 1))..|
|00004960| 28 64 65 66 75 6e 20 63 | 61 64 64 72 20 28 58 29 |(defun c|addr (X)|
|00004970| 20 22 5c 0a 52 65 74 75 | 72 6e 20 74 68 65 20 63 | "\.Retu|rn the c|
|00004980| 61 72 20 6f 66 20 74 68 | 65 20 63 64 72 20 6f 66 |ar of th|e cdr of|
|00004990| 20 74 68 65 20 63 64 72 | 20 6f 66 20 58 2e 22 20 | the cdr| of X." |
|000049a0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 41 41 40 |(byte-co|de ".AA@|
|000049b0| 87 22 20 5b 58 5d 20 31 | 29 29 0a 0a 28 64 65 66 |." [X] 1|))..(def|
|000049c0| 75 6e 20 63 64 61 64 72 | 20 28 58 29 20 22 5c 0a |un cdadr| (X) "\.|
|000049d0| 52 65 74 75 72 6e 20 74 | 68 65 20 63 64 72 20 6f |Return t|he cdr o|
|000049e0| 66 20 74 68 65 20 63 61 | 72 20 6f 66 20 74 68 65 |f the ca|r of the|
|000049f0| 20 63 64 72 20 6f 66 20 | 58 2e 22 20 28 62 79 74 | cdr of |X." (byt|
|00004a00| 65 2d 63 6f 64 65 20 22 | 08 41 40 41 87 22 20 5b |e-code "|.A@A." [|
|00004a10| 58 5d 20 31 29 29 0a 0a | 28 64 65 66 75 6e 20 63 |X] 1))..|(defun c|
|00004a20| 64 64 61 72 20 28 58 29 | 20 22 5c 0a 52 65 74 75 |ddar (X)| "\.Retu|
|00004a30| 72 6e 20 74 68 65 20 63 | 64 72 20 6f 66 20 74 68 |rn the c|dr of th|
|00004a40| 65 20 63 64 72 20 6f 66 | 20 74 68 65 20 63 61 72 |e cdr of| the car|
|00004a50| 20 6f 66 20 58 2e 22 20 | 28 62 79 74 65 2d 63 6f | of X." |(byte-co|
|00004a60| 64 65 20 22 08 40 41 41 | 87 22 20 5b 58 5d 20 31 |de ".@AA|." [X] 1|
|00004a70| 29 29 0a 0a 28 64 65 66 | 75 6e 20 63 64 64 64 72 |))..(def|un cdddr|
|00004a80| 20 28 58 29 20 22 5c 0a | 52 65 74 75 72 6e 20 74 | (X) "\.|Return t|
|00004a90| 68 65 20 63 64 72 20 6f | 66 20 74 68 65 20 63 64 |he cdr o|f the cd|
|00004aa0| 72 20 6f 66 20 74 68 65 | 20 63 64 72 20 6f 66 20 |r of the| cdr of |
|00004ab0| 58 2e 22 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |X." (byt|e-code "|
|00004ac0| 08 41 41 41 87 22 20 5b | 58 5d 20 31 29 29 0a 0a |.AAA." [|X] 1))..|
|00004ad0| 28 64 65 66 75 6e 20 63 | 61 61 61 61 72 20 28 58 |(defun c|aaaar (X|
|00004ae0| 29 20 22 5c 0a 52 65 74 | 75 72 6e 20 74 68 65 20 |) "\.Ret|urn the |
|00004af0| 63 61 72 20 6f 66 20 74 | 68 65 20 63 61 72 20 6f |car of t|he car o|
|00004b00| 66 20 74 68 65 20 63 61 | 72 20 6f 66 20 74 68 65 |f the ca|r of the|
|00004b10| 20 63 61 72 20 6f 66 20 | 58 2e 22 20 28 62 79 74 | car of |X." (byt|
|00004b20| 65 2d 63 6f 64 65 20 22 | 08 40 40 40 40 87 22 20 |e-code "|.@@@@." |
|00004b30| 5b 58 5d 20 31 29 29 0a | 0a 28 64 65 66 75 6e 20 |[X] 1)).|.(defun |
|00004b40| 63 61 61 61 64 72 20 28 | 58 29 20 22 5c 0a 52 65 |caaadr (|X) "\.Re|
|00004b50| 74 75 72 6e 20 74 68 65 | 20 63 61 72 20 6f 66 20 |turn the| car of |
|00004b60| 74 68 65 20 63 61 72 20 | 6f 66 20 74 68 65 20 63 |the car |of the c|
|00004b70| 61 72 20 6f 66 20 74 68 | 65 20 63 64 72 20 6f 66 |ar of th|e cdr of|
|00004b80| 20 58 2e 22 20 28 62 79 | 74 65 2d 63 6f 64 65 20 | X." (by|te-code |
|00004b90| 22 08 41 40 40 40 87 22 | 20 5b 58 5d 20 31 29 29 |".A@@@."| [X] 1))|
|00004ba0| 0a 0a 28 64 65 66 75 6e | 20 63 61 61 64 61 72 20 |..(defun| caadar |
|00004bb0| 28 58 29 20 22 5c 0a 52 | 65 74 75 72 6e 20 74 68 |(X) "\.R|eturn th|
|00004bc0| 65 20 63 61 72 20 6f 66 | 20 74 68 65 20 63 61 72 |e car of| the car|
|00004bd0| 20 6f 66 20 74 68 65 20 | 63 64 72 20 6f 66 20 74 | of the |cdr of t|
|00004be0| 68 65 20 63 61 72 20 6f | 66 20 58 2e 22 20 28 62 |he car o|f X." (b|
|00004bf0| 79 74 65 2d 63 6f 64 65 | 20 22 08 40 41 40 40 87 |yte-code| ".@A@@.|
|00004c00| 22 20 5b 58 5d 20 31 29 | 29 0a 0a 28 64 65 66 75 |" [X] 1)|)..(defu|
|00004c10| 6e 20 63 61 64 61 61 72 | 20 28 58 29 20 22 5c 0a |n cadaar| (X) "\.|
|00004c20| 52 65 74 75 72 6e 20 74 | 68 65 20 63 61 72 20 6f |Return t|he car o|
|00004c30| 66 20 74 68 65 20 63 64 | 72 20 6f 66 20 74 68 65 |f the cd|r of the|
|00004c40| 20 63 61 72 20 6f 66 20 | 74 68 65 20 63 61 72 20 | car of |the car |
|00004c50| 6f 66 20 58 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 |of X." (|byte-cod|
|00004c60| 65 20 22 08 40 40 41 40 | 87 22 20 5b 58 5d 20 31 |e ".@@A@|." [X] 1|
|00004c70| 29 29 0a 0a 28 64 65 66 | 75 6e 20 63 64 61 61 61 |))..(def|un cdaaa|
|00004c80| 72 20 28 58 29 20 22 5c | 0a 52 65 74 75 72 6e 20 |r (X) "\|.Return |
|00004c90| 74 68 65 20 63 64 72 20 | 6f 66 20 74 68 65 20 63 |the cdr |of the c|
|00004ca0| 61 72 20 6f 66 20 74 68 | 65 20 63 61 72 20 6f 66 |ar of th|e car of|
|00004cb0| 20 74 68 65 20 63 61 72 | 20 6f 66 20 58 2e 22 20 | the car| of X." |
|00004cc0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 08 40 40 40 |(byte-co|de ".@@@|
|00004cd0| 41 87 22 20 5b 58 5d 20 | 31 29 29 0a 0a 28 64 65 |A." [X] |1))..(de|
|00004ce0| 66 75 6e 20 63 61 61 64 | 64 72 20 28 58 29 20 22 |fun caad|dr (X) "|
|00004cf0| 5c 0a 52 65 74 75 72 6e | 20 74 68 65 20 63 61 72 |\.Return| the car|
|00004d00| 20 6f 66 20 74 68 65 20 | 63 61 72 20 6f 66 20 74 | of the |car of t|
|00004d10| 68 65 20 63 64 72 20 6f | 66 20 74 68 65 20 63 64 |he cdr o|f the cd|
|00004d20| 72 20 6f 66 20 58 2e 22 | 20 28 62 79 74 65 2d 63 |r of X."| (byte-c|
|00004d30| 6f 64 65 20 22 08 41 41 | 40 40 87 22 20 5b 58 5d |ode ".AA|@@." [X]|
|00004d40| 20 31 29 29 0a 0a 28 64 | 65 66 75 6e 20 63 61 64 | 1))..(d|efun cad|
|00004d50| 61 64 72 20 28 58 29 20 | 22 5c 0a 52 65 74 75 72 |adr (X) |"\.Retur|
|00004d60| 6e 20 74 68 65 20 63 61 | 72 20 6f 66 20 74 68 65 |n the ca|r of the|
|00004d70| 20 63 64 72 20 6f 66 20 | 74 68 65 20 63 61 72 20 | cdr of |the car |
|00004d80| 6f 66 20 74 68 65 20 63 | 64 72 20 6f 66 20 58 2e |of the c|dr of X.|
|00004d90| 22 20 28 62 79 74 65 2d | 63 6f 64 65 20 22 08 41 |" (byte-|code ".A|
|00004da0| 40 41 40 87 22 20 5b 58 | 5d 20 31 29 29 0a 0a 28 |@A@." [X|] 1))..(|
|00004db0| 64 65 66 75 6e 20 63 64 | 61 61 64 72 20 28 58 29 |defun cd|aadr (X)|
|00004dc0| 20 22 5c 0a 52 65 74 75 | 72 6e 20 74 68 65 20 63 | "\.Retu|rn the c|
|00004dd0| 64 72 20 6f 66 20 74 68 | 65 20 63 61 72 20 6f 66 |dr of th|e car of|
|00004de0| 20 74 68 65 20 63 61 72 | 20 6f 66 20 74 68 65 20 | the car| of the |
|00004df0| 63 64 72 20 6f 66 20 58 | 2e 22 20 28 62 79 74 65 |cdr of X|." (byte|
|00004e00| 2d 63 6f 64 65 20 22 08 | 41 40 40 41 87 22 20 5b |-code ".|A@@A." [|
|00004e10| 58 5d 20 31 29 29 0a 0a | 28 64 65 66 75 6e 20 63 |X] 1))..|(defun c|
|00004e20| 61 64 64 61 72 20 28 58 | 29 20 22 5c 0a 52 65 74 |addar (X|) "\.Ret|
|00004e30| 75 72 6e 20 74 68 65 20 | 63 61 72 20 6f 66 20 74 |urn the |car of t|
|00004e40| 68 65 20 63 64 72 20 6f | 66 20 74 68 65 20 63 64 |he cdr o|f the cd|
|00004e50| 72 20 6f 66 20 74 68 65 | 20 63 61 72 20 6f 66 20 |r of the| car of |
|00004e60| 58 2e 22 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |X." (byt|e-code "|
|00004e70| 08 40 41 41 40 87 22 20 | 5b 58 5d 20 31 29 29 0a |.@AA@." |[X] 1)).|
|00004e80| 0a 28 64 65 66 75 6e 20 | 63 64 61 64 61 72 20 28 |.(defun |cdadar (|
|00004e90| 58 29 20 22 5c 0a 52 65 | 74 75 72 6e 20 74 68 65 |X) "\.Re|turn the|
|00004ea0| 20 63 64 72 20 6f 66 20 | 74 68 65 20 63 61 72 20 | cdr of |the car |
|00004eb0| 6f 66 20 74 68 65 20 63 | 64 72 20 6f 66 20 74 68 |of the c|dr of th|
|00004ec0| 65 20 63 61 72 20 6f 66 | 20 58 2e 22 20 28 62 79 |e car of| X." (by|
|00004ed0| 74 65 2d 63 6f 64 65 20 | 22 08 40 41 40 41 87 22 |te-code |".@A@A."|
|00004ee0| 20 5b 58 5d 20 31 29 29 | 0a 0a 28 64 65 66 75 6e | [X] 1))|..(defun|
|00004ef0| 20 63 64 64 61 61 72 20 | 28 58 29 20 22 5c 0a 52 | cddaar |(X) "\.R|
|00004f00| 65 74 75 72 6e 20 74 68 | 65 20 63 64 72 20 6f 66 |eturn th|e cdr of|
|00004f10| 20 74 68 65 20 63 64 72 | 20 6f 66 20 74 68 65 20 | the cdr| of the |
|00004f20| 63 61 72 20 6f 66 20 74 | 68 65 20 63 61 72 20 6f |car of t|he car o|
|00004f30| 66 20 58 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |f X." (b|yte-code|
|00004f40| 20 22 08 40 40 41 41 87 | 22 20 5b 58 5d 20 31 29 | ".@@AA.|" [X] 1)|
|00004f50| 29 0a 0a 28 64 65 66 75 | 6e 20 63 61 64 64 64 72 |)..(defu|n cadddr|
|00004f60| 20 28 58 29 20 22 5c 0a | 52 65 74 75 72 6e 20 74 | (X) "\.|Return t|
|00004f70| 68 65 20 63 61 72 20 6f | 66 20 74 68 65 20 63 64 |he car o|f the cd|
|00004f80| 72 20 6f 66 20 74 68 65 | 20 63 64 72 20 6f 66 20 |r of the| cdr of |
|00004f90| 74 68 65 20 63 64 72 20 | 6f 66 20 58 2e 22 20 28 |the cdr |of X." (|
|00004fa0| 62 79 74 65 2d 63 6f 64 | 65 20 22 08 41 41 41 40 |byte-cod|e ".AAA@|
|00004fb0| 87 22 20 5b 58 5d 20 31 | 29 29 0a 0a 28 64 65 66 |." [X] 1|))..(def|
|00004fc0| 75 6e 20 63 64 64 61 64 | 72 20 28 58 29 20 22 5c |un cddad|r (X) "\|
|00004fd0| 0a 52 65 74 75 72 6e 20 | 74 68 65 20 63 64 72 20 |.Return |the cdr |
|00004fe0| 6f 66 20 74 68 65 20 63 | 64 72 20 6f 66 20 74 68 |of the c|dr of th|
|00004ff0| 65 20 63 61 72 20 6f 66 | 20 74 68 65 20 63 64 72 |e car of| the cdr|
|00005000| 20 6f 66 20 58 2e 22 20 | 28 62 79 74 65 2d 63 6f | of X." |(byte-co|
|00005010| 64 65 20 22 08 41 40 41 | 41 87 22 20 5b 58 5d 20 |de ".A@A|A." [X] |
|00005020| 31 29 29 0a 0a 28 64 65 | 66 75 6e 20 63 64 61 64 |1))..(de|fun cdad|
|00005030| 64 72 20 28 58 29 20 22 | 5c 0a 52 65 74 75 72 6e |dr (X) "|\.Return|
|00005040| 20 74 68 65 20 63 64 72 | 20 6f 66 20 74 68 65 20 | the cdr| of the |
|00005050| 63 61 72 20 6f 66 20 74 | 68 65 20 63 64 72 20 6f |car of t|he cdr o|
|00005060| 66 20 74 68 65 20 63 64 | 72 20 6f 66 20 58 2e 22 |f the cd|r of X."|
|00005070| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 08 41 41 | (byte-c|ode ".AA|
|00005080| 40 41 87 22 20 5b 58 5d | 20 31 29 29 0a 0a 28 64 |@A." [X]| 1))..(d|
|00005090| 65 66 75 6e 20 63 64 64 | 64 61 72 20 28 58 29 20 |efun cdd|dar (X) |
|000050a0| 22 5c 0a 52 65 74 75 72 | 6e 20 74 68 65 20 63 64 |"\.Retur|n the cd|
|000050b0| 72 20 6f 66 20 74 68 65 | 20 63 64 72 20 6f 66 20 |r of the| cdr of |
|000050c0| 74 68 65 20 63 64 72 20 | 6f 66 20 74 68 65 20 63 |the cdr |of the c|
|000050d0| 61 72 20 6f 66 20 58 2e | 22 20 28 62 79 74 65 2d |ar of X.|" (byte-|
|000050e0| 63 6f 64 65 20 22 08 40 | 41 41 41 87 22 20 5b 58 |code ".@|AAA." [X|
|000050f0| 5d 20 31 29 29 0a 0a 28 | 64 65 66 75 6e 20 63 64 |] 1))..(|defun cd|
|00005100| 64 64 64 72 20 28 58 29 | 20 22 5c 0a 52 65 74 75 |dddr (X)| "\.Retu|
|00005110| 72 6e 20 74 68 65 20 63 | 64 72 20 6f 66 20 74 68 |rn the c|dr of th|
|00005120| 65 20 63 64 72 20 6f 66 | 20 74 68 65 20 63 64 72 |e cdr of| the cdr|
|00005130| 20 6f 66 20 74 68 65 20 | 63 64 72 20 6f 66 20 58 | of the |cdr of X|
|00005140| 2e 22 20 28 62 79 74 65 | 2d 63 6f 64 65 20 22 08 |." (byte|-code ".|
|00005150| 41 41 41 41 87 22 20 5b | 58 5d 20 31 29 29 0a 0a |AAAA." [|X] 1))..|
|00005160| 28 64 65 66 75 6e 20 73 | 65 74 6e 74 68 20 28 6e |(defun s|etnth (n|
|00005170| 20 6c 69 73 74 20 6e 65 | 77 76 61 6c 29 20 22 5c | list ne|wval) "\|
|00005180| 0a 53 65 74 20 28 6e 74 | 68 20 4e 20 4c 49 53 54 |.Set (nt|h N LIST|
|00005190| 29 20 74 6f 20 4e 45 57 | 56 41 4c 2e 20 20 52 65 |) to NEW|VAL. Re|
|000051a0| 74 75 72 6e 73 20 4e 45 | 57 56 41 4c 2e 22 20 28 |turns NE|WVAL." (|
|000051b0| 62 79 74 65 2d 63 6f 64 | 65 20 22 c3 c4 08 09 5c |byte-cod|e "....\|
|000051c0| 22 0a 5c 22 87 22 20 5b | 6e 20 6c 69 73 74 20 6e |".\"." [|n list n|
|000051d0| 65 77 76 61 6c 20 72 70 | 6c 61 63 61 20 6e 74 68 |ewval rp|laca nth|
|000051e0| 63 64 72 5d 20 34 29 29 | 0a 0a 28 64 65 66 75 6e |cdr] 4))|..(defun|
|000051f0| 20 73 65 74 6e 74 68 63 | 64 72 20 28 6e 20 6c 69 | setnthc|dr (n li|
|00005200| 73 74 20 6e 65 77 76 61 | 6c 29 20 22 5c 0a 53 45 |st newva|l) "\.SE|
|00005210| 54 4e 54 48 43 44 52 20 | 4e 20 4c 49 53 54 20 4e |TNTHCDR |N LIST N|
|00005220| 45 57 56 41 4c 20 3d 3e | 20 4e 45 57 56 41 4c 0a |EWVAL =>| NEWVAL.|
|00005230| 41 73 20 61 20 73 69 64 | 65 20 65 66 66 65 63 74 |As a sid|e effect|
|00005240| 2c 20 73 65 74 73 20 74 | 68 65 20 4e 74 68 20 63 |, sets t|he Nth c|
|00005250| 64 72 20 6f 66 20 4c 49 | 53 54 20 74 6f 20 4e 45 |dr of LI|ST to NE|
|00005260| 57 56 41 4c 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 |WVAL." (|byte-cod|
|00005270| 65 20 22 08 c4 57 83 0d | 00 c5 c6 08 5c 22 82 2c |e "..W..|....\".,|
|00005280| 00 08 c4 55 83 23 00 c7 | 09 0a 40 5c 22 88 c8 09 |...U.#..|..@\"...|
|00005290| 0a 41 5c 22 88 0a 82 2c | 00 c8 c9 08 ca 5a 09 5c |.A\"...,|.....Z.\|
|000052a0| 22 0a 5c 22 87 22 20 5b | 6e 20 6c 69 73 74 20 6e |".\"." [|n list n|
|000052b0| 65 77 76 61 6c 20 74 20 | 30 20 65 72 72 6f 72 20 |ewval t |0 error |
|000052c0| 22 4e 20 6d 75 73 74 20 | 62 65 20 30 20 6f 72 20 |"N must |be 0 or |
|000052d0| 67 72 65 61 74 65 72 2c | 20 6e 6f 74 20 25 64 22 |greater,| not %d"|
|000052e0| 20 72 70 6c 61 63 61 20 | 72 70 6c 61 63 64 20 6e | rplaca |rplacd n|
|000052f0| 74 68 63 64 72 20 31 5d | 20 37 29 29 0a 0a 28 64 |thcdr 1]| 7))..(d|
|00005300| 65 66 75 6e 20 61 63 6f | 6e 73 20 28 6b 65 79 20 |efun aco|ns (key |
|00005310| 69 74 65 6d 20 61 6c 69 | 73 74 29 20 22 5c 0a 52 |item ali|st) "\.R|
|00005320| 65 74 75 72 6e 20 61 20 | 6e 65 77 20 61 6c 69 73 |eturn a |new alis|
|00005330| 74 20 77 69 74 68 20 4b | 45 59 20 70 61 69 72 65 |t with K|EY paire|
|00005340| 64 20 77 69 74 68 20 49 | 54 45 4d 3b 20 6f 74 68 |d with I|TEM; oth|
|00005350| 65 72 77 69 73 65 20 6c | 69 6b 65 20 41 4c 49 53 |erwise l|ike ALIS|
|00005360| 54 2e 0a 44 6f 65 73 20 | 6e 6f 74 20 63 6f 70 79 |T..Does |not copy|
|00005370| 20 41 4c 49 53 54 2e 22 | 20 28 62 79 74 65 2d 63 | ALIST."| (byte-c|
|00005380| 6f 64 65 20 22 08 09 42 | 0a 42 87 22 20 5b 6b 65 |ode "..B|.B." [ke|
|00005390| 79 20 69 74 65 6d 20 61 | 6c 69 73 74 5d 20 32 29 |y item a|list] 2)|
|000053a0| 29 0a 0a 28 64 65 66 75 | 6e 20 70 61 69 72 6c 69 |)..(defu|n pairli|
|000053b0| 73 20 28 6b 65 79 73 20 | 64 61 74 61 20 26 6f 70 |s (keys |data &op|
|000053c0| 74 69 6f 6e 61 6c 20 61 | 6c 69 73 74 29 20 22 5c |tional a|list) "\|
|000053d0| 0a 52 65 74 75 72 6e 20 | 61 20 6e 65 77 20 61 6c |.Return |a new al|
|000053e0| 69 73 74 20 77 69 74 68 | 20 65 61 63 68 20 65 6c |ist with| each el|
|000053f0| 74 20 6f 66 20 4b 45 59 | 53 20 70 61 69 72 65 64 |t of KEY|S paired|
|00005400| 20 77 69 74 68 20 61 6e | 20 65 6c 74 20 6f 66 20 | with an| elt of |
|00005410| 44 41 54 41 3b 0a 6f 70 | 74 69 6f 6e 61 6c 20 33 |DATA;.op|tional 3|
|00005420| 72 64 20 61 72 67 20 41 | 4c 49 53 54 20 69 73 20 |rd arg A|LIST is |
|00005430| 6e 63 6f 6e 63 27 64 20 | 61 74 20 74 68 65 20 65 |nconc'd |at the e|
|00005440| 6e 64 2e 20 20 4b 45 59 | 53 20 61 6e 64 20 44 41 |nd. KEY|S and DA|
|00005450| 54 41 20 6d 75 73 74 0a | 68 61 76 65 20 74 68 65 |TA must.|have the|
|00005460| 20 73 61 6d 65 20 6c 65 | 6e 67 74 68 2e 22 20 28 | same le|ngth." (|
|00005470| 62 79 74 65 2d 63 6f 64 | 65 20 22 08 47 09 47 55 |byte-cod|e ".G.GU|
|00005480| 83 0c 00 c2 82 0f 00 c9 | ca 21 88 08 1b 09 1c 0b |........|.!......|
|00005490| 40 1d 0c 40 1e 06 0e 08 | 1e 07 cb 0b 21 3f 85 43 |@..@....|....!?.C|
|000054a0| 00 cc 0d 0e 06 0e 07 23 | 89 16 07 88 0b 41 13 0c |.......#|.....A..|
|000054b0| 41 14 0b 40 15 0c 40 89 | 16 06 88 82 1f 00 88 0e |A..@..@.|........|
|000054c0| 07 2d 87 22 20 5b 6b 65 | 79 73 20 64 61 74 61 20 |.-." [ke|ys data |
|000054d0| 6e 69 6c 20 6b 70 74 72 | 20 64 70 74 72 20 6b 65 |nil kptr| dptr ke|
|000054e0| 79 20 69 74 65 6d 20 72 | 65 73 75 6c 74 20 61 6c |y item r|esult al|
|000054f0| 69 73 74 20 65 72 72 6f | 72 20 22 4b 65 79 73 20 |ist erro|r "Keys |
|00005500| 61 6e 64 20 64 61 74 61 | 20 73 68 6f 75 6c 64 20 |and data| should |
|00005510| 62 65 20 74 68 65 20 73 | 61 6d 65 20 6c 65 6e 67 |be the s|ame leng|
|00005520| 74 68 22 20 65 6e 64 70 | 20 61 63 6f 6e 73 5d 20 |th" endp| acons] |
|00005530| 37 29 29 0a 0a 28 64 65 | 66 6b 65 79 77 6f 72 64 |7))..(de|fkeyword|
|00005540| 20 3a 74 65 73 74 20 22 | 55 73 65 64 20 74 6f 20 | :test "|Used to |
|00005550| 64 65 73 69 67 6e 61 74 | 65 20 70 6f 73 69 74 69 |designat|e positi|
|00005560| 76 65 20 28 73 65 6c 65 | 63 74 69 6f 6e 29 20 74 |ve (sele|ction) t|
|00005570| 65 73 74 73 2e 22 29 0a | 0a 28 64 65 66 6b 65 79 |ests.").|.(defkey|
|00005580| 77 6f 72 64 20 3a 74 65 | 73 74 2d 6e 6f 74 20 22 |word :te|st-not "|
|00005590| 55 73 65 64 20 74 6f 20 | 64 65 73 69 67 6e 61 74 |Used to |designat|
|000055a0| 65 20 6e 65 67 61 74 69 | 76 65 20 28 72 65 6a 65 |e negati|ve (reje|
|000055b0| 63 74 69 6f 6e 29 20 74 | 65 73 74 73 2e 22 29 0a |ction) t|ests.").|
|000055c0| 0a 28 64 65 66 6b 65 79 | 77 6f 72 64 20 3a 6b 65 |.(defkey|word :ke|
|000055d0| 79 20 22 55 73 65 64 20 | 74 6f 20 64 65 73 69 67 |y "Used |to desig|
|000055e0| 6e 61 74 65 20 63 6f 6d | 70 6f 6e 65 6e 74 20 65 |nate com|ponent e|
|000055f0| 78 74 72 61 63 74 69 6f | 6e 73 2e 22 29 0a 0a 28 |xtractio|ns.")..(|
|00005600| 64 65 66 6b 65 79 77 6f | 72 64 20 3a 70 72 65 64 |defkeywo|rd :pred|
|00005610| 69 63 61 74 65 20 22 55 | 73 65 64 20 74 6f 20 64 |icate "U|sed to d|
|00005620| 65 66 69 6e 65 20 6d 61 | 74 63 68 69 6e 67 20 6f |efine ma|tching o|
|00005630| 66 20 73 65 71 75 65 6e | 63 65 20 63 6f 6d 70 6f |f sequen|ce compo|
|00005640| 6e 65 6e 74 73 2e 22 29 | 0a 0a 28 64 65 66 6b 65 |nents.")|..(defke|
|00005650| 79 77 6f 72 64 20 3a 73 | 74 61 72 74 20 22 49 6e |yword :s|tart "In|
|00005660| 63 6c 75 73 69 76 65 20 | 6c 6f 77 20 69 6e 64 65 |clusive |low inde|
|00005670| 78 20 69 6e 20 73 65 71 | 75 65 6e 63 65 22 29 0a |x in seq|uence").|
|00005680| 0a 28 64 65 66 6b 65 79 | 77 6f 72 64 20 3a 65 6e |.(defkey|word :en|
|00005690| 64 20 22 45 78 63 6c 75 | 73 69 76 65 20 68 69 67 |d "Exclu|sive hig|
|000056a0| 68 20 69 6e 64 65 78 20 | 69 6e 20 73 65 71 75 65 |h index |in seque|
|000056b0| 6e 63 65 22 29 0a 0a 28 | 64 65 66 6b 65 79 77 6f |nce")..(|defkeywo|
|000056c0| 72 64 20 3a 73 74 61 72 | 74 31 20 22 49 6e 63 6c |rd :star|t1 "Incl|
|000056d0| 75 73 69 76 65 20 6c 6f | 77 20 69 6e 64 65 78 20 |usive lo|w index |
|000056e0| 69 6e 20 66 69 72 73 74 | 20 6f 66 20 74 77 6f 20 |in first| of two |
|000056f0| 73 65 71 75 65 6e 63 65 | 73 2e 22 29 0a 0a 28 64 |sequence|s.")..(d|
|00005700| 65 66 6b 65 79 77 6f 72 | 64 20 3a 73 74 61 72 74 |efkeywor|d :start|
|00005710| 32 20 22 49 6e 63 6c 75 | 73 69 76 65 20 6c 6f 77 |2 "Inclu|sive low|
|00005720| 20 69 6e 64 65 78 20 69 | 6e 20 73 65 63 6f 6e 64 | index i|n second|
|00005730| 20 6f 66 20 74 77 6f 20 | 73 65 71 75 65 6e 63 65 | of two |sequence|
|00005740| 73 2e 22 29 0a 0a 28 64 | 65 66 6b 65 79 77 6f 72 |s.")..(d|efkeywor|
|00005750| 64 20 3a 65 6e 64 31 20 | 22 45 78 63 6c 75 73 69 |d :end1 |"Exclusi|
|00005760| 76 65 20 68 69 67 68 20 | 69 6e 64 65 78 20 69 6e |ve high |index in|
|00005770| 20 66 69 72 73 74 20 6f | 66 20 74 77 6f 20 73 65 | first o|f two se|
|00005780| 71 75 65 6e 63 65 73 2e | 22 29 0a 0a 28 64 65 66 |quences.|")..(def|
|00005790| 6b 65 79 77 6f 72 64 20 | 3a 65 6e 64 32 20 22 45 |keyword |:end2 "E|
|000057a0| 78 63 6c 75 73 69 76 65 | 20 68 69 67 68 20 69 6e |xclusive| high in|
|000057b0| 64 65 78 20 69 6e 20 73 | 65 63 6f 6e 64 20 6f 66 |dex in s|econd of|
|000057c0| 20 74 77 6f 20 73 65 71 | 75 65 6e 63 65 73 2e 22 | two seq|uences."|
|000057d0| 29 0a 0a 28 64 65 66 6b | 65 79 77 6f 72 64 20 3a |)..(defk|eyword :|
|000057e0| 63 6f 75 6e 74 20 22 4e | 75 6d 62 65 72 20 6f 66 |count "N|umber of|
|000057f0| 20 65 6c 65 6d 65 6e 74 | 73 20 74 6f 20 61 66 66 | element|s to aff|
|00005800| 65 63 74 2e 22 29 0a 0a | 28 64 65 66 6b 65 79 77 |ect.")..|(defkeyw|
|00005810| 6f 72 64 20 3a 66 72 6f | 6d 2d 65 6e 64 20 22 54 |ord :fro|m-end "T|
|00005820| 20 77 68 65 6e 20 63 6f | 75 6e 74 69 6e 67 20 62 | when co|unting b|
|00005830| 61 63 6b 77 61 72 64 73 | 2e 22 29 0a 0a 28 64 65 |ackwards|.")..(de|
|00005840| 66 75 6e 20 73 6f 6d 65 | 20 28 70 72 65 64 20 73 |fun some| (pred s|
|00005850| 65 71 20 26 72 65 73 74 | 20 6d 6f 72 65 73 65 71 |eq &rest| moreseq|
|00005860| 73 29 20 22 5c 0a 54 65 | 73 74 20 50 52 45 44 49 |s) "\.Te|st PREDI|
|00005870| 43 41 54 45 20 6f 6e 20 | 65 61 63 68 20 65 6c 65 |CATE on |each ele|
|00005880| 6d 65 6e 74 20 6f 66 20 | 53 45 51 55 45 4e 43 45 |ment of |SEQUENCE|
|00005890| 3b 20 69 73 20 69 74 20 | 65 76 65 72 20 6e 6f 6e |; is it |ever non|
|000058a0| 2d 6e 69 6c 3f 0a 45 78 | 74 72 61 20 61 72 67 73 |-nil?.Ex|tra args|
|000058b0| 20 61 72 65 20 61 64 64 | 69 74 69 6f 6e 61 6c 20 | are add|itional |
|000058c0| 73 65 71 75 65 6e 63 65 | 73 3b 20 50 52 45 44 49 |sequence|s; PREDI|
|000058d0| 43 41 54 45 20 67 65 74 | 73 20 6f 6e 65 20 61 72 |CATE get|s one ar|
|000058e0| 67 20 66 72 6f 6d 20 65 | 61 63 68 0a 73 65 71 75 |g from e|ach.sequ|
|000058f0| 65 6e 63 65 20 61 6e 64 | 20 77 65 20 61 64 76 61 |ence and| we adva|
|00005900| 6e 63 65 20 64 6f 77 6e | 20 61 6c 6c 20 74 68 65 |nce down| all the|
|00005910| 20 73 65 71 75 65 6e 63 | 65 73 20 74 6f 67 65 74 | sequenc|es toget|
|00005920| 68 65 72 20 69 6e 20 6c | 6f 63 6b 2d 73 74 65 70 |her in l|ock-step|
|00005930| 2e 0a 41 20 73 65 71 75 | 65 6e 63 65 20 6d 65 61 |..A sequ|ence mea|
|00005940| 6e 73 20 65 69 74 68 65 | 72 20 61 20 6c 69 73 74 |ns eithe|r a list|
|00005950| 20 6f 72 20 61 20 76 65 | 63 74 6f 72 2e 22 20 28 | or a ve|ctor." (|
|00005960| 62 79 74 65 2d 63 6f 64 | 65 20 22 cb cc 09 0a 5c |byte-cod|e "....\|
|00005970| 22 21 18 c4 1b c4 1d c4 | 1e 06 08 1e 07 0e 07 40 |"!......|.......@|
|00005980| 1e 08 0b 86 1e 00 cd 0e | 07 21 3f 85 4e 00 ce 0e |........|.!?.N...|
|00005990| 09 0e 08 5c 22 89 16 06 | 88 0e 06 3f 83 36 00 c4 |...\"...|...?.6..|
|000059a0| 82 3e 00 ca 89 13 88 0e | 06 89 15 88 0e 07 41 16 |.>......|......A.|
|000059b0| 07 0e 07 40 89 16 08 88 | 82 16 00 88 0d 2d 29 87 |...@....|.....-).|
|000059c0| 22 20 5b 61 72 67 73 20 | 73 65 71 20 6d 6f 72 65 |" [args |seq more|
|000059d0| 73 65 71 73 20 72 65 61 | 64 79 20 6e 69 6c 20 72 |seqs rea|dy nil r|
|000059e0| 65 73 75 6c 74 20 61 70 | 70 6c 79 76 61 6c 20 72 |esult ap|plyval r|
|000059f0| 65 6d 61 69 6e 69 6e 67 | 20 63 75 72 72 65 6e 74 |emaining| current|
|00005a00| 20 70 72 65 64 20 74 20 | 72 65 61 73 73 65 6d 62 | pred t |reassemb|
|00005a10| 6c 65 2d 61 72 67 73 6c | 69 73 74 73 20 6c 69 73 |le-argsl|ists lis|
|00005a20| 74 2a 20 65 6e 64 70 20 | 61 70 70 6c 79 5d 20 37 |t* endp |apply] 7|
|00005a30| 29 29 0a 0a 28 64 65 66 | 75 6e 20 65 76 65 72 79 |))..(def|un every|
|00005a40| 20 28 70 72 65 64 20 73 | 65 71 20 26 72 65 73 74 | (pred s|eq &rest|
|00005a50| 20 6d 6f 72 65 73 65 71 | 73 29 20 22 5c 0a 54 65 | moreseq|s) "\.Te|
|00005a60| 73 74 20 50 52 45 44 49 | 43 41 54 45 20 6f 6e 20 |st PREDI|CATE on |
|00005a70| 65 61 63 68 20 65 6c 65 | 6d 65 6e 74 20 6f 66 20 |each ele|ment of |
|00005a80| 53 45 51 55 45 4e 43 45 | 3b 20 69 73 20 69 74 20 |SEQUENCE|; is it |
|00005a90| 61 6c 77 61 79 73 20 6e | 6f 6e 2d 6e 69 6c 3f 0a |always n|on-nil?.|
|00005aa0| 45 78 74 72 61 20 61 72 | 67 73 20 61 72 65 20 61 |Extra ar|gs are a|
|00005ab0| 64 64 69 74 69 6f 6e 61 | 6c 20 73 65 71 75 65 6e |dditiona|l sequen|
|00005ac0| 63 65 73 3b 20 50 52 45 | 44 49 43 41 54 45 20 67 |ces; PRE|DICATE g|
|00005ad0| 65 74 73 20 6f 6e 65 20 | 61 72 67 20 66 72 6f 6d |ets one |arg from|
|00005ae0| 20 65 61 63 68 0a 73 65 | 71 75 65 6e 63 65 20 61 | each.se|quence a|
|00005af0| 6e 64 20 77 65 20 61 64 | 76 61 6e 63 65 20 64 6f |nd we ad|vance do|
|00005b00| 77 6e 20 61 6c 6c 20 74 | 68 65 20 73 65 71 75 65 |wn all t|he seque|
|00005b10| 6e 63 65 73 20 74 6f 67 | 65 74 68 65 72 20 69 6e |nces tog|ether in|
|00005b20| 20 6c 6f 63 6b 2d 73 74 | 65 70 2e 0a 41 20 73 65 | lock-st|ep..A se|
|00005b30| 71 75 65 6e 63 65 20 6d | 65 61 6e 73 20 65 69 74 |quence m|eans eit|
|00005b40| 68 65 72 20 61 20 6c 69 | 73 74 20 6f 72 20 61 20 |her a li|st or a |
|00005b50| 76 65 63 74 6f 72 2e 22 | 20 28 62 79 74 65 2d 63 |vector."| (byte-c|
|00005b60| 6f 64 65 20 22 cb cc 09 | 0a 5c 22 21 18 c4 1b c6 |ode "...|.\"!....|
|00005b70| 1d c4 1e 07 08 1e 08 0e | 08 40 1e 09 0b 86 1e 00 |........|.@......|
|00005b80| cd 0e 08 21 3f 85 4c 00 | ce 0e 0a 0e 09 5c 22 89 |...!?.L.|.....\".|
|00005b90| 16 07 88 0e 07 83 35 00 | c4 82 3c 00 c6 89 13 88 |......5.|..<.....|
|00005ba0| c4 89 15 88 0e 08 41 16 | 08 0e 08 40 89 16 09 88 |......A.|...@....|
|00005bb0| 82 16 00 88 0d 2d 29 87 | 22 20 5b 61 72 67 73 20 |.....-).|" [args |
|00005bc0| 73 65 71 20 6d 6f 72 65 | 73 65 71 73 20 72 65 61 |seq more|seqs rea|
|00005bd0| 64 79 20 6e 69 6c 20 72 | 65 73 75 6c 74 20 74 20 |dy nil r|esult t |
|00005be0| 61 70 70 6c 79 76 61 6c | 20 72 65 6d 61 69 6e 69 |applyval| remaini|
|00005bf0| 6e 67 20 63 75 72 72 65 | 6e 74 20 70 72 65 64 20 |ng curre|nt pred |
|00005c00| 72 65 61 73 73 65 6d 62 | 6c 65 2d 61 72 67 73 6c |reassemb|le-argsl|
|00005c10| 69 73 74 73 20 6c 69 73 | 74 2a 20 65 6e 64 70 20 |ists lis|t* endp |
|00005c20| 61 70 70 6c 79 5d 20 37 | 29 29 0a 0a 28 64 65 66 |apply] 7|))..(def|
|00005c30| 75 6e 20 6e 6f 74 61 6e | 79 20 28 70 72 65 64 20 |un notan|y (pred |
|00005c40| 73 65 71 20 26 72 65 73 | 74 20 6d 6f 72 65 73 65 |seq &res|t morese|
|00005c50| 71 73 29 20 22 5c 0a 54 | 65 73 74 20 50 52 45 44 |qs) "\.T|est PRED|
|00005c60| 49 43 41 54 45 20 6f 6e | 20 65 61 63 68 20 65 6c |ICATE on| each el|
|00005c70| 65 6d 65 6e 74 20 6f 66 | 20 53 45 51 55 45 4e 43 |ement of| SEQUENC|
|00005c80| 45 3b 20 69 73 20 69 74 | 20 61 6c 77 61 79 73 20 |E; is it| always |
|00005c90| 6e 69 6c 3f 0a 45 78 74 | 72 61 20 61 72 67 73 20 |nil?.Ext|ra args |
|00005ca0| 61 72 65 20 61 64 64 69 | 74 69 6f 6e 61 6c 20 73 |are addi|tional s|
|00005cb0| 65 71 75 65 6e 63 65 73 | 3b 20 50 52 45 44 49 43 |equences|; PREDIC|
|00005cc0| 41 54 45 20 67 65 74 73 | 20 6f 6e 65 20 61 72 67 |ATE gets| one arg|
|00005cd0| 20 66 72 6f 6d 20 65 61 | 63 68 0a 73 65 71 75 65 | from ea|ch.seque|
|00005ce0| 6e 63 65 20 61 6e 64 20 | 77 65 20 61 64 76 61 6e |nce and |we advan|
|00005cf0| 63 65 20 64 6f 77 6e 20 | 61 6c 6c 20 74 68 65 20 |ce down |all the |
|00005d00| 73 65 71 75 65 6e 63 65 | 73 20 74 6f 67 65 74 68 |sequence|s togeth|
|00005d10| 65 72 20 69 6e 20 6c 6f | 63 6b 2d 73 74 65 70 2e |er in lo|ck-step.|
|00005d20| 0a 41 20 73 65 71 75 65 | 6e 63 65 20 6d 65 61 6e |.A seque|nce mean|
|00005d30| 73 20 65 69 74 68 65 72 | 20 61 20 6c 69 73 74 20 |s either| a list |
|00005d40| 6f 72 20 61 20 76 65 63 | 74 6f 72 2e 22 20 28 62 |or a vec|tor." (b|
|00005d50| 79 74 65 2d 63 6f 64 65 | 20 22 cb cc 09 0a 5c 22 |yte-code| "....\"|
|00005d60| 21 18 c4 1b c6 1d c4 1e | 07 08 1e 08 0e 08 40 1e |!.......|......@.|
|00005d70| 09 0b 86 1e 00 cd 0e 08 | 21 3f 85 4d 00 ce 0e 0a |........|!?.M....|
|00005d80| 0e 09 5c 22 89 16 07 88 | 0e 07 3f 83 36 00 c4 82 |..\"....|..?.6...|
|00005d90| 3d 00 c6 89 13 88 c4 89 | 15 88 0e 08 41 16 08 0e |=.......|....A...|
|00005da0| 08 40 89 16 09 88 82 16 | 00 88 0d 2d 29 87 22 20 |.@......|...-)." |
|00005db0| 5b 61 72 67 73 20 73 65 | 71 20 6d 6f 72 65 73 65 |[args se|q morese|
|00005dc0| 71 73 20 72 65 61 64 79 | 20 6e 69 6c 20 72 65 73 |qs ready| nil res|
|00005dd0| 75 6c 74 20 74 20 61 70 | 70 6c 79 76 61 6c 20 72 |ult t ap|plyval r|
|00005de0| 65 6d 61 69 6e 69 6e 67 | 20 63 75 72 72 65 6e 74 |emaining| current|
|00005df0| 20 70 72 65 64 20 72 65 | 61 73 73 65 6d 62 6c 65 | pred re|assemble|
|00005e00| 2d 61 72 67 73 6c 69 73 | 74 73 20 6c 69 73 74 2a |-argslis|ts list*|
|00005e10| 20 65 6e 64 70 20 61 70 | 70 6c 79 5d 20 37 29 29 | endp ap|ply] 7))|
|00005e20| 0a 0a 28 64 65 66 75 6e | 20 6e 6f 74 65 76 65 72 |..(defun| notever|
|00005e30| 79 20 28 70 72 65 64 20 | 73 65 71 20 26 72 65 73 |y (pred |seq &res|
|00005e40| 74 20 6d 6f 72 65 73 65 | 71 73 29 20 22 5c 0a 54 |t morese|qs) "\.T|
|00005e50| 65 73 74 20 50 52 45 44 | 49 43 41 54 45 20 6f 6e |est PRED|ICATE on|
|00005e60| 20 65 61 63 68 20 65 6c | 65 6d 65 6e 74 20 6f 66 | each el|ement of|
|00005e70| 20 53 45 51 55 45 4e 43 | 45 3b 20 69 73 20 69 74 | SEQUENC|E; is it|
|00005e80| 20 73 6f 6d 65 74 69 6d | 65 73 20 6e 69 6c 3f 0a | sometim|es nil?.|
|00005e90| 45 78 74 72 61 20 61 72 | 67 73 20 61 72 65 20 61 |Extra ar|gs are a|
|00005ea0| 64 64 69 74 69 6f 6e 61 | 6c 20 73 65 71 75 65 6e |dditiona|l sequen|
|00005eb0| 63 65 73 3b 20 50 52 45 | 44 49 43 41 54 45 20 67 |ces; PRE|DICATE g|
|00005ec0| 65 74 73 20 6f 6e 65 20 | 61 72 67 20 66 72 6f 6d |ets one |arg from|
|00005ed0| 20 65 61 63 68 0a 73 65 | 71 75 65 6e 63 65 20 61 | each.se|quence a|
|00005ee0| 6e 64 20 77 65 20 61 64 | 76 61 6e 63 65 20 64 6f |nd we ad|vance do|
|00005ef0| 77 6e 20 61 6c 6c 20 74 | 68 65 20 73 65 71 75 65 |wn all t|he seque|
|00005f00| 6e 63 65 73 20 74 6f 67 | 65 74 68 65 72 20 69 6e |nces tog|ether in|
|00005f10| 20 6c 6f 63 6b 2d 73 74 | 65 70 2e 0a 41 20 73 65 | lock-st|ep..A se|
|00005f20| 71 75 65 6e 63 65 20 6d | 65 61 6e 73 20 65 69 74 |quence m|eans eit|
|00005f30| 68 65 72 20 61 20 6c 69 | 73 74 20 6f 72 20 61 20 |her a li|st or a |
|00005f40| 76 65 63 74 6f 72 2e 22 | 20 28 62 79 74 65 2d 63 |vector."| (byte-c|
|00005f50| 6f 64 65 20 22 cb cc 09 | 0a 5c 22 21 18 c4 1b c4 |ode "...|.\"!....|
|00005f60| 1d c4 1e 06 08 1e 07 0e | 07 40 1e 08 0b 86 1e 00 |........|.@......|
|00005f70| cd 0e 07 21 3f 85 4c 00 | ce 0e 09 0e 08 5c 22 89 |...!?.L.|.....\".|
|00005f80| 16 06 88 0e 06 83 35 00 | c4 82 3c 00 ca 89 13 88 |......5.|..<.....|
|00005f90| ca 89 15 88 0e 07 41 16 | 07 0e 07 40 89 16 08 88 |......A.|...@....|
|00005fa0| 82 16 00 88 0d 2d 29 87 | 22 20 5b 61 72 67 73 20 |.....-).|" [args |
|00005fb0| 73 65 71 20 6d 6f 72 65 | 73 65 71 73 20 72 65 61 |seq more|seqs rea|
|00005fc0| 64 79 20 6e 69 6c 20 72 | 65 73 75 6c 74 20 61 70 |dy nil r|esult ap|
|00005fd0| 70 6c 79 76 61 6c 20 72 | 65 6d 61 69 6e 69 6e 67 |plyval r|emaining|
|00005fe0| 20 63 75 72 72 65 6e 74 | 20 70 72 65 64 20 74 20 | current| pred t |
|00005ff0| 72 65 61 73 73 65 6d 62 | 6c 65 2d 61 72 67 73 6c |reassemb|le-argsl|
|00006000| 69 73 74 73 20 6c 69 73 | 74 2a 20 65 6e 64 70 20 |ists lis|t* endp |
|00006010| 61 70 70 6c 79 5d 20 37 | 29 29 0a 0a 28 64 65 66 |apply] 7|))..(def|
|00006020| 75 6e 20 73 65 74 65 6c | 74 20 28 73 65 71 20 6e |un setel|t (seq n|
|00006030| 20 6e 65 77 76 61 6c 29 | 20 22 5c 0a 49 6e 20 53 | newval)| "\.In S|
|00006040| 45 51 55 45 4e 43 45 2c | 20 73 65 74 20 74 68 65 |EQUENCE,| set the|
|00006050| 20 4e 74 68 20 65 6c 65 | 6d 65 6e 74 20 74 6f 20 | Nth ele|ment to |
|00006060| 4e 45 57 56 41 4c 2e 20 | 20 52 65 74 75 72 6e 73 |NEWVAL. | Returns|
|00006070| 20 4e 45 57 56 41 4c 2e | 0a 41 20 73 65 71 75 65 | NEWVAL.|.A seque|
|00006080| 6e 63 65 20 6d 65 61 6e | 73 20 65 69 74 68 65 72 |nce mean|s either|
|00006090| 20 61 20 6c 69 73 74 20 | 6f 72 20 61 20 76 65 63 | a list |or a vec|
|000060a0| 74 6f 72 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |tor." (b|yte-code|
|000060b0| 20 22 09 47 18 0a c5 57 | 86 0c 00 0a 08 59 83 17 | ".G...W|.....Y..|
|000060c0| 00 c6 c7 0a 08 23 82 37 | 00 09 3c 83 24 00 c8 0a |.....#.7|..<.$...|
|000060d0| 09 0c 23 82 37 00 c9 09 | 21 83 31 00 09 0a 0c 49 |..#.7...|!.1....I|
|000060e0| 82 37 00 c6 ca cb 09 21 | 5c 22 29 87 22 20 5b 6c |.7.....!|\")." [l|
|000060f0| 20 73 65 71 20 6e 20 74 | 20 6e 65 77 76 61 6c 20 | seq n t| newval |
|00006100| 30 20 65 72 72 6f 72 20 | 22 4e 28 25 64 29 20 73 |0 error |"N(%d) s|
|00006110| 68 6f 75 6c 64 20 62 65 | 20 62 65 74 77 65 65 6e |hould be| between|
|00006120| 20 30 20 61 6e 64 20 25 | 64 22 20 73 65 74 6e 74 | 0 and %|d" setnt|
|00006130| 68 20 61 72 72 61 79 70 | 20 22 53 45 51 20 73 68 |h arrayp| "SEQ sh|
|00006140| 6f 75 6c 64 20 62 65 20 | 61 20 73 65 71 75 65 6e |ould be |a sequen|
|00006150| 63 65 2c 20 6e 6f 74 20 | 60 25 73 27 22 20 70 72 |ce, not |`%s'" pr|
|00006160| 69 6e 31 2d 74 6f 2d 73 | 74 72 69 6e 67 5d 20 37 |in1-to-s|tring] 7|
|00006170| 29 29 0a 0a 28 64 65 66 | 75 6e 20 65 78 74 72 61 |))..(def|un extra|
|00006180| 63 74 2d 66 72 6f 6d 2d | 6b 6c 69 73 74 20 28 6b |ct-from-|klist (k|
|00006190| 65 79 20 6b 6c 69 73 74 | 20 26 6f 70 74 69 6f 6e |ey klist| &option|
|000061a0| 61 6c 20 64 65 66 61 75 | 6c 74 29 20 22 5c 0a 45 |al defau|lt) "\.E|
|000061b0| 58 54 52 41 43 54 2d 46 | 52 4f 4d 2d 4b 4c 49 53 |XTRACT-F|ROM-KLIS|
|000061c0| 54 20 4b 45 59 20 4b 4c | 49 53 54 20 5b 44 45 46 |T KEY KL|IST [DEF|
|000061d0| 41 55 4c 54 5d 20 3d 3e | 20 76 61 6c 75 65 20 6f |AULT] =>| value o|
|000061e0| 66 20 4b 45 59 20 6f 72 | 20 44 45 46 41 55 4c 54 |f KEY or| DEFAULT|
|000061f0| 0a 45 78 74 72 61 63 74 | 20 76 61 6c 75 65 20 61 |.Extract| value a|
|00006200| 73 73 6f 63 69 61 74 65 | 64 20 77 69 74 68 20 4b |ssociate|d with K|
|00006210| 45 59 20 69 6e 20 4b 4c | 49 53 54 20 28 72 65 74 |EY in KL|IST (ret|
|00006220| 75 72 6e 20 44 45 46 41 | 55 4c 54 20 69 66 20 6e |urn DEFA|ULT if n|
|00006230| 69 6c 29 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |il)." (b|yte-code|
|00006240| 20 22 c4 09 0a 5c 22 41 | 18 08 86 0b 00 0b 29 87 | "...\"A|......).|
|00006250| 22 20 5b 72 65 74 72 69 | 65 76 65 64 20 6b 65 79 |" [retri|eved key|
|00006260| 20 6b 6c 69 73 74 20 64 | 65 66 61 75 6c 74 20 61 | klist d|efault a|
|00006270| 73 73 6f 63 5d 20 33 29 | 29 0a 0a 28 64 65 66 75 |ssoc] 3)|)..(defu|
|00006280| 6e 20 61 64 64 2d 74 6f | 2d 6b 6c 69 73 74 20 28 |n add-to|-klist (|
|00006290| 6b 65 79 20 69 74 65 6d | 20 6b 6c 69 73 74 29 20 |key item| klist) |
|000062a0| 22 5c 0a 41 44 44 2d 54 | 4f 2d 4b 4c 49 53 54 20 |"\.ADD-T|O-KLIST |
|000062b0| 4b 45 59 20 49 54 45 4d | 20 4b 4c 49 53 54 20 3d |KEY ITEM| KLIST =|
|000062c0| 3e 20 6e 65 77 20 4b 4c | 49 53 54 0a 41 64 64 20 |> new KL|IST.Add |
|000062d0| 61 73 73 6f 63 69 61 74 | 69 6f 6e 20 28 4b 45 59 |associat|ion (KEY|
|000062e0| 20 2e 20 49 54 45 4d 29 | 20 74 6f 20 4b 4c 49 53 | . ITEM)| to KLIS|
|000062f0| 54 2e 22 20 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |T." (byt|e-code "|
|00006300| c3 09 0a 08 23 89 10 87 | 22 20 5b 6b 6c 69 73 74 |....#...|" [klist|
|00006310| 20 6b 65 79 20 69 74 65 | 6d 20 61 63 6f 6e 73 5d | key ite|m acons]|
|00006320| 20 34 29 29 0a 0a 28 64 | 65 66 75 6e 20 65 6c 74 | 4))..(d|efun elt|
|00006330| 2d 73 61 74 69 73 66 69 | 65 73 2d 74 65 73 74 2d |-satisfi|es-test-|
|00006340| 70 20 28 69 74 65 6d 20 | 65 6c 74 20 6b 6c 69 73 |p (item |elt klis|
|00006350| 74 29 20 22 5c 0a 45 4c | 54 2d 53 41 54 49 53 46 |t) "\.EL|T-SATISF|
|00006360| 49 45 53 2d 54 45 53 54 | 2d 50 20 49 54 45 4d 20 |IES-TEST|-P ITEM |
|00006370| 45 4c 54 20 4b 4c 49 53 | 54 20 3d 3e 20 74 20 6f |ELT KLIS|T => t o|
|00006380| 72 20 6e 69 6c 0a 4b 4c | 49 53 54 20 65 6e 63 6f |r nil.KL|IST enco|
|00006390| 64 65 73 20 61 20 6b 65 | 79 77 6f 72 64 2d 61 72 |des a ke|yword-ar|
|000063a0| 67 75 6d 65 6e 74 73 20 | 74 65 73 74 2c 20 61 73 |guments |test, as|
|000063b0| 20 69 6e 20 43 48 2e 20 | 31 34 20 6f 66 20 43 4c | in CH. |14 of CL|
|000063c0| 74 4c 2e 0a 54 72 75 65 | 20 69 66 20 74 68 65 20 |tL..True| if the |
|000063d0| 67 69 76 65 6e 20 49 54 | 45 4d 20 61 6e 64 20 45 |given IT|EM and E|
|000063e0| 4c 54 20 73 61 74 69 73 | 66 79 20 74 68 65 20 74 |LT satis|fy the t|
|000063f0| 65 73 74 2e 22 20 28 62 | 79 74 65 2d 63 6f 64 65 |est." (b|yte-code|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.